سؤال معنى المخازن المؤقتة / خط ذاكرة التخزين المؤقت في إخراج مجانا


لماذا يعرض خادمي

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

ليس لدي أي فكرة عن حساب الذاكرة في لينكس. أعتقد أنه يقول أن 5088232 يستخدم حيث 7198224 مجاني ، وهذا يعني أنه يستهلك بالفعل 5GB من ذاكرة الوصول العشوائي؟


151
2017-11-17 10:37


الأصل


serverfault.com/questions/23433/... - Kyle Brandt♦
linuxatemyram.com - Sasha


الأجوبة:


معنى القيم

السطر الأول يعني:

  • total: إجمالي ذاكرة الوصول العشوائي (الفعلية) (باستثناء جزء صغير يحتفظ به kernel بشكل دائم عند بدء التشغيل) ؛ هذا هو السبب في أنها تظهر كاليفورنيا. 11.7 GiB ، وليس 12 GiB ، والتي ربما لديك.
  • used: الذاكرة المستخدمة من قبل نظام التشغيل.
  • free: الذاكرة ليست قيد الاستخدام.

total = used + free

  • shared / buffers / cached: يعرض هذا استخدام الذاكرة لأغراض محددة ، يتم تضمين هذه القيم في القيمة الخاصة بـ used.

السطر الثاني يعطي قيم السطر الأول معدلة. يعطي القيمة الأصلية ل used  ناقص المجموع buffers+cached والقيمة الأصلية لـ free  زائد المجموع buffers+cached، ومن هنا لقبه. هذه القيم الجديدة غالباً ما تكون ذات معنى أكثر من تلك الموجودة في السطر الأول.

السطر الأخير (Swap:يقدم معلومات حول استخدام مساحة المبادلة (أي محتويات الذاكرة التي تم نقلها مؤقتًا إلى القرص).

خلفية

لفهم ما تعنيه الأرقام فعليًا ، تحتاج إلى بعض الخلفية حول النظام الفرعي للذاكرة الظاهرية (VM) في Linux. مجرد نسخة قصيرة: سوف يحاول نظام التشغيل Linux (مثل معظم أنظمة التشغيل الحديثة) دائمًا استخدام ذاكرة الوصول العشوائي الحرة لتخزين الأشياء المخبأة ، لذا Mem: free سوف تكون دائما منخفضة جدا. لذلك الخط -/+ buffers/cache: يظهر ، لأنه يوضح مقدار الذاكرة الحرة عند تجاهل وتخزين؛ سيتم تحرير ذاكرة التخزين المؤقت تلقائيًا إذا أصبحت الذاكرة نادرة ، لذا فهي لا تهمك حقًا.

نظام لينكس منخفض جدا في الذاكرة إذا كان free القيمة في -/+ buffers/cache: خط يحصل منخفضة.

لمزيد من التفاصيل حول معنى الأرقام ، انظر على سبيل المثال ، الأسئلة:

التغييرات في procps 3.3.10

لاحظ أن إخراج free تم تغييره في procps 3.3.10 (صدر في عام 2014). الأعمدة المبلغ عنها الآن "الإجمالي" ، "المستخدمة" ، "مجاني" ، "مشترك" ، "buff / cache" ، "متوفر"، وتغيرت معاني بعض القيم ، بشكل رئيسي إلى حساب أفضل لوحدة ذاكرة التخزين المؤقت للوح نواة لينكس.

نرى تقرير Debian Bug # 565518 للدافع ، و ماذا تفعل التغييرات في free الناتج من 14.04 إلى 16.04 يعني؟ لمزيد من المعلومات التفصيلية.


215
2017-11-17 11:42



هل يمكنك التوسع في أنواع الأشياء التي قد يقوم نظام التشغيل Linux بالتخزين المؤقت لها؟ هل ستكون الملفات التي تم الوصول إليها أو أشياء الشبكة؟ - CMCDragonkai
@ CMCDragonkai: الجواب على serverfault.com/questions/23433/... عناوين بالتفصيل ما يشكل "ذاكرة التخزين المؤقت" و "العازلة". - sleske
لا أعتقد أن العبارة "total = used + free" صحيحة ، انظر الإخراج التالي على جهازي: $ 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
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


يوضح لك المخزن المؤقت / خط ذاكرة التخزين المؤقت مقدار الذاكرة المستخدمة من قبل البرامج (أولاً من تلك الأعمدة) ، ومجاني للاستخدام في البرامج (العمود الثاني). إنه مجرد رقم مقصور على فئة معينة ، وليس شيئًا قد تنظر إليه كثيرًا من الناحية العملية.


2
2017-11-17 11:03



وماذا يعني السطر الأول (خط الميم) - Muahmmad Zeeshan
أن لديك 12 جيجابايت من ذاكرة الوصول العشوائي المثبتة في النظام ، وتستخدم 11.5 جيجابايت منها و 0.5 غيغابايت أو نحو ذلك غير المستخدمة حاليا. يتم استخدام 82 ميغا بايت تقريبًا من الذاكرة المستخدمة في المخازن المؤقتة (اتصالات الشبكة ، إلخ) ، في حين يتم استخدام حوالي 6.5 غيغابايت لتخزين نسخ من البيانات على القرص ، بحيث لا يلزم إعادة قراءة البيانات إذا كانت هناك حاجة إليها مرة أخرى. - womble♦
Muhammad: "82 ميجا بايت مجاني." - لا ، 57MiB مجاني (ولكن هذا لا يهم حقا ، انظر جوابي). "الآن كل هذا يعني أن النظام قد وصل إلى حدوده" - لا ، ليس على الإطلاق. يحتوي النظام على 6.9GiB قيد الاستخدام للتخزين المؤقت ، والتي ستعطيها بسهولة للتطبيقات ، لذلك يوجد الكثير من المساحة. أيضا ، استخدام المبادلة منخفضة جدا (ony ca. 50MiB). إذا بدأت الذاكرة بالضيق ، فسوف يرتفع استخدام المبادلة. في الوقت الحاضر أنت بالكاد تستخدم نصف ذاكرة الوصول العشوائي لديك. - sleske
هل فكرت في طرح سؤال جديد في وقت ما؟ - womble♦
أنا أختلف ، خط المخزن المؤقت / ذاكرة التخزين المؤقت هو الذاكرة الحرة الفعلية للنظام وبالتالي الأكثر صلة إذا كنت تريد معرفة ما إذا كان النظام لديه مساحة للبرامج. - eckes