שאלה המשמעות של המאגרים / מטמון קו פלט חינם


מדוע השרת שלי מוצג

            total      used      free   shared buffers    cached
    Mem: 12286456  11715372    571084        0   81912   6545228
-/+ buffers/cache:  5088232   7198224
   Swap: 24571408     54528  24516880

אין לי מושג על חישוב הזיכרון בלינוקס. אני חושב שזה אומר כי 5088232 משמש שם כמו 7198224 הוא בחינם, כלומר זה באמת צריכת 5GB של RAM?


151
2017-11-17 10:37




serverfault.com/questions/23433/... - Kyle Brandt♦
לינוקס - Sasha


תשובות:


משמעות הערכים

השורה הראשונה פירושה:

  • total: סה"כ RAM (פיזית) שלך (למעט קצת כי הקרנל שומרת לעצמה לצמיתות בעת האתחול); זה למה זה מראה ca. 11.7 GiB, ולא 12 GiB, שבוודאי יש לך.
  • used: זיכרון בשימוש על ידי מערכת ההפעלה.
  • free: הזיכרון אינו בשימוש.

total = used + free

  • shared / buffers / cached: זה מראה שימוש בזיכרון למטרות ספציפיות, ערכים אלה כלולים בערך עבור used.

השורה השנייה נותנת ערכי קו ראשון מותאם. זה נותן את הערך המקורי עבור used  פחות הסכום buffers+cached ואת הערך המקורי עבור free  ועוד הסכום buffers+cached, ומכאן הכותרת שלו. ערכים חדשים אלה הם לעתים קרובות משמעותיים יותר מאלו של השורה הראשונה.

השורה האחרונה (Swap:) מספק מידע אודות שימוש בחלל החלפה (כלומר, תוכן זיכרון שהועבר לדיסק באופן זמני).

רקע כללי

כדי להבין מה המשמעות של המספרים, אתה צריך קצת רקע על המשנה הווירטואלית (VM) המשנה ב- Linux. רק גרסה קצרה: לינוקס (כמו מערכת ההפעלה המודרנית ביותר) תמיד תנסה להשתמש בזיכרון RAM בחינם עבור מטמון דברים, כך Mem: free יהיה כמעט תמיד נמוך מאוד. לכן השורה -/+ buffers/cache: מוצג, מכיוון שהוא מראה כמה זיכרון הוא בחינם כאשר מתעלמים מטמון; מטמון ישוחרר באופן אוטומטי אם זיכרון מקבל נדיר, אז הם לא ממש משנה.

מערכת לינוקס הוא באמת נמוך על הזיכרון אם free ערך -/+ buffers/cache: הקו מקבל נמוך.

לקבלת פרטים נוספים על משמעות המספרים, ראה למשל. השאלות:

שינויים בפרופס

שים לב כי הפלט של free השתנה ב procps 3.3.10 (שוחרר בשנת 2014). העמודות דיווחו עכשיו "" "," "" "", "", והמשמעות של כמה מהערכים השתנתה, בעיקר כדי להסביר טוב יותר את המטמון של ליבת לינוקס.

ראה דוח של דביאן באג # 565518 עבור המוטיבציה, ו מה השינויים free פלט מ 14.04 עד 16.04 מתכוון? לפרטים נוספים.


215
2017-11-17 11:42



האם אתה יכול להרחיב על אילו דברים לינוקס עשויה להיות במטמון? האם זה יהיה קבצים כי כבר לגשת או דברים ברשת? - CMCDragonkai
@CMCDragonkai: התשובה ל serverfault.com/questions/23433/... כתובות בפירוט מה מייצג "מטמון" ו "חיץ". - sleske
אני לא חושב את ההצהרה "סה"כ = בשימוש + חינם" נכון, לראות את הפלט הבא על המחשב שלי: $ free -h  total used free shared buff/cache available  Mem: 3.4G 585M 152M 11M 2.6G 2.5G  Swap: 4.0G 84M 3.9G - Sebastian
@ סבסטיאן: אה, מעניין. נראה כי ouput של חינם השתנה (ב 3.3.10). ערכתי את תשובתי כדי להזכיר זאת. אם אתה מעוניין לשנות את זה, שקול לשאול שאלה חדשה :-). - sleske
total = used + free + buff/cache - danger89


עבור מישהו הזקוקים אפילו יותר פשוט, צעד אחר צעד הסבר, לבדוק http://thoughtsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html, ההסבר שלו עזר לי הרבה.


7
2018-02-13 22:06



meta.stackexchange.com/q/8231/133242 - Matt Ball


השורה Boppers / cache מראה לך כמה זיכרון משמש את התוכניות (הראשונה של עמודות אלה), והיא חופשית לתוכניות לשימוש (עמודה שנייה). זה מספר אזוטרי למדי, ולא משהו שבאמת מסתכלים עליו הרבה.


2
2017-11-17 11:03



ומה המשמעות של השורה הראשונה (קו mem) - Muahmmad Zeeshan
כי יש לך 12GB של RAM מותקן במערכת, 11.5GB אשר משמש 0.5GB או כך הוא כרגע בשימוש. כ 82MB של זיכרון בשימוש משמש buffers (חיבורי רשת, וכו '), תוך כ 6.5GB משמש לאחסון עותקים של נתונים על הדיסק, כך הנתונים לא צריך להיות מחדש לקרוא אם זה נחוץ שוב. - womble♦
@Muhammad: "82MB הוא בחינם." - לא, 57MiB הוא בחינם (אבל זה לא ממש משנה, לראות את התשובה שלי). "עכשיו כל זה אומר כי המערכת הגיעה לגבולותיה" - לא, בכלל לא. המערכת כוללת 6.9GiB בשימוש במטמון, וזה יהיה בקלות לתת יישומים, אז יש הרבה מקום. כמו כן, להחליף את השימוש הוא נמוך מאוד (ony כ 50MiB). אם הזיכרון מתחיל להתחזק, השימוש ב- SWAP יעלה. כרגע אתה בקושי באמצעות חצי RAM יש לך. - sleske
האם שקלת לשאול שאלה חדשה בשלב כלשהו? - womble♦
אני לא מסכים, את buffers / מטמון קו הוא זיכרון פנוי בפועל של המערכת, ולכן הרלוונטי ביותר אם אתה רוצה לדעת אם למערכת יש מקום לתוכניות. - eckes