ההבדל בזיכרון משומש, מחויב ומקסימום

1. סקירה כללית

במאמר קצר זה, נראה את ההבדל בין מדדי גודל הזיכרון השונים ב- JVM.

ראשית, נדבר על אופן הפעולה של גודל ההסתגלות, ואז נעריך את ההבדל בין הגדלים המרביים, המשומשים והמחויבים.

2. גודל מקסימלי וגודל התאמה

שני ערכים שולטים בגודל ערמת JVM: ערך ראשוני אחד שצוין באמצעות -Xms דגל וערך מרבי נוסף הנשלט על ידי -Xmx כוונון דגל.

אם לא נציין דגלים אלה, ה- JVM יבחר בערכי ברירת מחדל עבורם. ערכי ברירת מחדל אלה תלויים במערכת ההפעלה הבסיסית, בכמות ה- RAM הזמין, וכמובן ביישום JVM עצמו:

ללא קשר לגודל בפועל וערכי ברירת המחדל, גודל הערימה מתחיל בגודל התחלתי. ככל שאנו מקצים אובייקטים נוספים, גודל הערמה עשוי לגדול כך שיתאים לכך. גודל הערמה, לעומת זאת, לא יכול לחרוג מגודל הערמה המרבי.

במילים פשוטות, גודל הערמה המקסימלי הוא הגודל שצוין באמצעות -Xmx דֶגֶל. כמו כן, כאשר איננו מציינים במפורש את -Xmx, ה- JVM מחשב גודל ברירת מחדל מקסימלי.

3. גודל משומש

בואו נניח שהקצבנו כמה אובייקטים מאז תחילת התוכנית. גודל הערמה עשוי לגדול מעט כדי להתאים לאובייקטים חדשים:

השטח המשומש הוא כמות הזיכרון שתופסת כיום אובייקטים של Java. זה תמיד פחות או שווה לגודל המקסימלי.

4. גודל מחויב

הגודל המחויב הוא כמות הזיכרון המובטחת לשימוש במכונה הווירטואלית של Java. גודל הזיכרון המחויב תמיד גדול או שווה לגודל המשומש.

5. מסקנה

במאמר קצר זה ראינו את ההבדל בין גודל הערימה המרבי, המשומש והמחויב.


$config[zx-auto] not found$config[zx-overlay] not found