محتويات الدورة

أداء لينكس / الأساسي: القياس وإشارات الموارد / الدرس 4

قراءة الذاكرة دون الخوف من المخبأ

ميّز فضاء العناوين والصفحات المقيمة والمشتركة والمخبأ وأخطاء الصفحات قبل تشخيص الندرة.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تفسير الذاكرة الافتراضية والمقيمة والتناسبية والمتاحة.
  • فصل المخبأ القابل للاسترداد عن الطلب غير القابل له.
  • استخدام أخطاء الصفحات والتبديل كأدلة سياقية.

التخصيص ليس الإقامة

يصف الفضاء الافتراضي التخطيطات والحجوزات لا مطالبة مماثلة بالرام. قد يكون الحجم الكبير طبيعياً لبيئة تحجز نطاقاً. تعد الذاكرة المقيمة صفحات حاضرة تشمل المشترك، وقد يكرره جمع RSS. تقسم PSS المشترك بين التخطيطات لسؤال محاسبي مختلف. حدد إن كان الفحص لنمو عملية أو توفر المضيف أو حد cgroup؛ فلكل حدود قياس مختلفة.

المخبأ عمل مفيد محفوظ في الذاكرة

يستخدم لينكس الذاكرة المتاحة لتخزين بيانات الملفات وبياناتها الوصفية. قد تنخفض الحرة تماماً مع صحة المتاح. يُسترد بعض المخبأ لكن المتسخ يحتاج كتابة وللاسترداد كلفة؛ والمتاح تقدير لا ضمان تخصيص فوري. تتبع الذاكرة المجهولة كالكومة والمكدس مساراً مختلفاً. لا تمح المخابئ لتجميل اللوحة؛ فهذا يدمر الأساس ويغير طلب التخزين وقد ينشئ البطء.

bash قراءة الفئات لا رقم الاستخدام وحده
grep -E '^(MemTotal|MemFree|MemAvailable|Cached|Dirty|Writeback|SwapTotal|SwapFree):' /proc/meminfo

الحقول رصد للقراءة بوحدات موثقة. قارن Dirty وWriteback بأدلة التخزين؛ ولا يمحو الأمر المخبأ أو يغير سياسة الذاكرة.

تصف أخطاء الصفحات عمل التخطيط لا عطب القرص

يحدث خطأ الصفحة عند حاجة الوصول إلى حل تخطيط أو جلب صفحة. تُخدم الصغيرة دون مسار الكبيرة، وتتطلب الكبيرة غالباً تخزيناً خلفياً. لا تعني التسمية فشل عتاد. قد يسبب بدء التطبيق أخطاء صغيرة كثيرة مشروعة. افحص المعدلات والمرحلة والكمون. لا يثبت مجموع العمر ضغطاً حالياً، وتحتاج زيادة الكبيرة ربطاً بالملفات والتبديل واستجابة التخزين.

bash مقارنة عملية افتراضية بفترات المضيف
cat /proc/4242/smaps_rollup
vmstat 1 5

يمثل 4242 عملية مختبر مهيأة. يعتمد توفر smaps_rollup ووصوله على النواة والصلاحيات؛ وتساعد فترات vmstat في تمييز النقل الجاري من تبديل مخصص قديماً.

يختلف تخصيص التبديل عن نشاطه

قد يبقى تبديل مستخدم بعد ضغط سابق ولا يثبت التخبط الحالي. حركة متكررة واسترداد مستمر وتوقف المستخدم أدلة أقوى. تؤثر خلفية التبديل وأنماط الوصول في الكلفة. قد تتاح رام للمضيف وتبلغ الحاوية حدها. وقد يعكس نمو العملية مشتركات أو محاسبة مخبأ. قارن النطاق عبر الزمن واحفظ المرحلة قبل تغيير التبديل؛ فلا قيمة swappiness عامة لكل أهداف الكمون والاسترداد.

السؤال عما لا يتاح ولمن

تتبع التخصيص ومجموعة العمل ومتاح المضيف وأحداث cgroup والضغط لفترات متطابقة. تختلف الكومة النامية عن الثابتة التي يُطرد مخبؤها. افحص الاحتفاظ والتزامن قبل سلوك VM العام. قارن سليماً وحدد هل الاسترداد حاضر فقط أم يضر الهدف. اجعل التجربة بنسخة مؤقتة واترك سعة للتشخيص والاسترداد. الهدف عمل مستدام لا تعظيم الحرة على حساب كل إصابة مخبأ.

الأخطاء الشائعة وإصلاحها

تسمية انخفاض الحرة تسرباً

لماذا يحدث؟
أُدرج المخبأ دون تحليل الفئات.
كيف تصلحه؟
افحص المتاح والتخطيطات والنمو زمنياً.
كيف تتجنب تكراره؟
حدد نطاق الذاكرة وفئات التنبيه.

جمع RSS كاستخدام فريد دقيق

لماذا يحدث؟
عُدت الصفحات المشتركة مراراً.
كيف تصلحه؟
استخدم محاسبة تناسبية أو مناسبة للنطاق.
كيف تتجنب تكراره؟
وثق ما يشمله مقياس العملية.

اعتبار التبديل المخصص تخبطاً حالياً

لماذا يحدث؟
اختلطت كمية مخزنة بالنشاط.
كيف تصلحه؟
اربط حركة التبديل والاسترداد والكمون.
كيف تتجنب تكراره؟
افصل المعدلات والقيم اللحظية.

اختبر فهمك

1. للمضيف حرة قليلة ومخبأ كبير ومتاح سليم دون توقف. هل يبرر محو المخبأ؟

اعرض الحل المشروح

لا دليل على ضغط ضار. قد يفيد المخبأ ويُسترد، ومحوُه يغير الحمل ويزيد القراءات. احفظ الأساس وقارن الكمون والاسترداد والحدود قبل التغيير.

2. تبلغ RSS لعمليتين 500MiB لكل منهما وتشتركان بصفحات. هل الاستهلاك الفريد 1GiB؟

اعرض الحل المشروح

لا، يتكرر المشترك في RSS. افحص PSS وحدود المضيف أو cgroup المطلوبة، مع تذكر أثر ذاكرة النواة والمخبأ في سؤال السعة الكلية.

أهم ما تعلمته

  • افصل الحجز والمقيم والمخبأ والضغط الفعلي.
  • قس المعدلات والأثر قبل تغيير سياسة VM.

المراجع الرسمية