ماذا يحدث عندما يصل حاوية خادم المنزل إلى حد الذاكرة الخاص بها؟

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

عندما يصل حاوية خادم المنزل إلى حد الذاكرة الخاص بها، يمكن أن تتطور النتيجة من استرداد ذاكرة التخزين المؤقت وتوقف التخصيص إلى قتل الحاوية بسبب نفاد الذاكرة.

حد الذاكرة ليس مجرد تحذير على لوحة التحكم. يقوم نظام لينكس بحساب ذاكرة العملية، والصفحات المجهولة، ومعظم ذاكرة التخزين المؤقت للملفات الخاصة بالحاوية إلى مجموعة تحكم. مع اقتراب الاستخدام من الحدود المحددة، يحاول النواة استرداد الصفحات أو تقليل التخصيصات الجديدة. عند الحد الصارم، قد يقتل عملية أو أكثر حتى تتمكن المجموعة من التعافي.

ضغط الذاكرة يبدأ عادةً قبل القتل النهائي

يمكن لمجموعة التحكم v2 استخدام مستوى حماية ناعم، وحد استرداد وتقليل، وحد أقصى صارم. يمكن أن يؤدي تجاوز الحد العالي إلى فرض استرداد مباشر، مما يجعل الطلبات أبطأ حتى مع بقاء الحاوية صحية. يميز دليل ضغط الذاكرة في cgroup هذه المراحل والعدادات التي تكشفها.

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

الحد الصارم يحول التخصيص إلى قرار نفاد الذاكرة

عند الحد الأقصى الصارم، يجب أن يفشل التخصيص الذي لا يمكن استرداده أو أن يبدأ التعامل مع نفاد الذاكرة داخل مجموعة التحكم في الذاكرة. توضح مناقشة قرار نفاد الذاكرة في cgroup لماذا تعتمد النتيجة على سياق التخصيص وسلوك النواة بدلاً من فحص بسيط لنسبة المستخدم.

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

المرحلة استجابة النواة عرض الحاوية عرض المضيف
مساحة عادية تستمر ذاكرة التخزين المؤقت والتخصيصات زمن استجابة مستقر استخدام ذاكرة متوقع
ضغط عالي زيادة الاسترداد والتقليل توقفات طويلة وزيادة قراءات التخزين ارتفاع PSI وعمليات الإدخال/الإخراج
الحد الصارم فشل التخصيص أو بدء التعامل مع نفاد الذاكرة خروج العملية أو ظهور أخطاء تسجيل حدث نفاد الذاكرة
حلقة إعادة التشغيل إعادة إنشاء عبء العمل في وقت التشغيل إعادة تشغيل باردة متكررة ارتفاعات في وحدة المعالجة المركزية، القرص، DNS، والسجلات

ذاكرة الحاوية أكثر من مجرد كومة التطبيق

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

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

التبديل يغير شكل الفشل، وليس الحد

إذا كان التبديل متاحًا للمجموعة، فقد تنتقل الصفحات المجهولة الباردة خارج ذاكرة الوصول العشوائي، مما يؤخر قتل نفاد الذاكرة. المقابل هو تأخير التخزين. يمكن لقاعدة بيانات أو عملية ويب أن تبقى حية لكنها تستجيب ببطء لأن الطلب يستدعي الصفحات مرة أخرى من SSD أو HDD.

مع تعطيل التبديل أو تحديده بشكل منفصل، يصل الحد الصارم أسرع ويكون الفشل أكثر حدة. يوضح تجربة نفاد الذاكرة في cgroup كيف تؤثر إعدادات المجموعة على ما إذا كانت عملية واحدة أو عبء العمل بأكمله يتم إنهاؤه.

تشخيص الحد من الأحداث وشكل عبء العمل

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

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

الأسئلة الشائعة

هل تظهر الحاوية التي تم قتلها بسبب نفاد الذاكرة دائمًا ذاكرة مرتفعة بعد ذلك؟

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

هل يمكن لحاوية واحدة أن تصل إلى حدها بينما لا يزال لدى المضيف ذاكرة RAM حرة؟

نعم. الحد الصارم لمجموعة التحكم هو حد للعزل. يمكن للنواة فرضه حتى عندما توجد ذاكرة خارج مجموعة الحاوية المعينة.

هل إضافة التبديل حل كامل لحدود ذاكرة الحاوية؟

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

مركز التكنولوجيا والذكاء الاصطناعي

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.