كان مستقرًا لأكثر من عام الآن. أوقفت/أعدت تشغيل الحاوية، فانخفض الاستخدام مرة أخرى، لكن خلال الساعات القليلة الماضية عاد إلى ما كان عليه من قبل.
ما الذي يسبب هذا؟ يخبرني الأمران top وps أن الجناة الرئيسيين هم عمليات postgres. وفيما يلي المعلومات من free:
$ free -mh
total used free shared buff/cache available
Mem: 7.8Gi 2.5Gi 142Mi 2.3Gi 5.1Gi 2.6Gi
لا أستطيع حتى الوصول إلى droplet عبر وحدة تحكم DO. إنه ينهار بسبب نفاد الذاكرة (OOM). لحسن الحظ، قمت بتثبيت مفاتيح SSH وأستطيع الوصول من حاسوب محمول شخصي، لذا لا يزال بإمكاني في هذه اللحظة الوصول إلى الـ droplet.
ماذا يجب أن أفعل؟ أنا أعمل بميزانية محدودة، لذا فإن تغيير حجم الـ droplet هو آخر خيار، وأتساءل عما إذا كان هناك أي شيء آخر. يبدو الأمر وكأنه حدث فجأة من العدم. أنا أشغل الإصدار 2.7.0.beta5.
القفزة الرأسية الوحيدة في رسوماتي البيانية خلال الـ14 يومًا الماضية كانت أيضًا في 11 مايو، لكنها كانت أقل حدة حيث ارتفعت من 78% إلى 89%. ربما قمنا بالترقية آنذاك؟
يبدو أن المشكلة مرتبطة بالمضيف، فبالنسبة لي انخفض استخدام الذاكرة. تم إضافة ترقية الإصدار إلى beta9 في اليوم العاشر، لذا ربما قمت بإعادة البناء في ذلك الوقت (وقمت بتنزيل صورة جديدة كما يظهر من استخدام القرص)، لكنني لا أتذكر ترقية المضيف، مع أنني ربما فعلت ذلك.
لا، لقد كنت أعمل على الإصدار 2.7beta5 منذ فترة. لم نقم بأي تغييرات منذ فترة.
السبب في أنني لست على أحدث إصدار هو وجود مخاوف تتعلق بمسؤول الواجهة الأمامية لدينا بعد آخر ترقية قمنا بها، لأنها أدخلت بعض التغييرات الكاسرة على تنسيقاته (أنا مجرد مسؤول نظام، ولا أعرف شيئًا عن هذا النوع من الأمور). أعتقد أن هذه المشاكل قد تم إصلاحها في Discourse منذ ذلك الحين، لكننا كنا ننتظر الإصدار الصغير التالي للترقية.
إذا أضفت مساحة تبادل (swap)، ستتجنب حالات نفاد الذاكرة (OOMs). لا ترغب في حدوث حالات نفاد الذاكرة، ولا ترغب في نشاط كبير في التبادل (paging)، وإلا فقد يكون أو لا يكون ارتفاع استهلاك الذاكرة أمرًا مهمًا. (قد يكون ذلك مثيرًا للاهتمام، لكن هذا أمر مختلف.)
أنصحك بتشغيل الأمر: vmstat 5 5
أو ما شابه ذلك لمعرفة كيف يبدو نشاط التبادل.
أيضًا، free -h
أكثر فائدة من free -mh
لأنه من المهم معرفة مقدار مساحة التبادل المتبقية لديك.