كيف يمكنك الحصول على المزيد من المعلومات حول العمليات عندما لينكس نفدت الذاكرة ؟

StackOverflow https://stackoverflow.com/questions/120000

  •  02-07-2019
  •  | 
  •  

سؤال

كان لي مؤخرا مشكلة مع oom القاتل بدأت عمليات قتل بعد مرور بعض الوقت.وأنا أرى أن الذاكرة المستهلكة ، ولكن بحلول الوقت الذي وصلت إلى الخادم لم يكن واضحا بعد ما تستهلك.هل هناك جيدة غير واضح مكان للحصول على مزيد من المعلومات حول oom-القاتل ؟ E. g.معلومات تفصيلية عن العمليات في وقت التنشيط, معلومات مفصلة حول عمليات قتل وأسباب الاختيار ؟

أنا أبحث عن مكان محدد للعثور على معلومات محددة أداة لجمع أو بعض التكوين لتحسين oom القاتل التقارير.أنا لا أبحث عن معلومات عامة عن oom القاتل./var/الرسائل بشكل افتراضي سوف تحتوي فقط على تقرير مفصل عن الحرة/تخصيص الذاكرة ، ولكن ليس عمليات محددة كان المخصصة.

هل كانت مفيدة؟

المحلول

يمكنك التحقق من الرسائل ملف السجل لمعرفة أي عملية قتل و بعض المعلومات ذات الصلة.أما عن أسباب:

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

من هنا.

يمكنك تحديد بعض العمليات أن تكون في مأمن من القاتل ، وضبط swappiness المعلمة في حال لديك منخفضة جدا (مما يجعل القاتل الزناد سعيدة) والتحقق من الأشياء المذكورة هنا

نصائح أخرى

عادة يجب أن تحصل على رسالة في /var/log/messages, مع كمية كبيرة من التفاصيل بشأن العملية التي قتل oom القاتل.

ليست هذه هي الاجابة على سؤالك, ولكن malloc(3) صفحة على لينكس لديه بعض المعلومات حول كيفية إيقاف تشغيل الذاكرة overcommit

echo 2 > /proc/sys/vm/overcommit_memory
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top