الوثائق

البدء السريع + شرح وظائف كل قسم لكل جهاز (يُحدَّث باستمرار)

الحماية من الانهيار

يشرح هذا المقال وظيفة «الحماية من الانهيار» في اللوحة — مراقبة الذاكرة وCPU والقرص تلقائيًا، والتدخّل بشكل استباقي قبل استنفاد موارد الخادم، لمنع تجمّد الخادم.

فهمها في جملة واحدة

أخطر ما يخيفك في الخادم ليس «إعلان برنامج ما عن خطأ»، بل «أن تُلتهم الذاكرة بالكامل / يبلغ CPU ذروته، فتجمد الآلة كلها حتى تعجز عن الاتصال بها عبر SSH، ولا يبقى إلا إعادة التشغيل القسرية من لوحة مزوّد الخدمة». الحماية من الانهيار هي ما يقتنص ذلك «البرنامج الشره للموارد» ويعالجه قبل وقوع هذا الأمر، لتبقى لك مساحة للنجاة.

نبذة عن الوظيفة

تنشر الحماية من الانهيار عملية حماية خفيفة على الخادم الهدف، تراقب الذاكرة وCPU والقرص باستمرار. وعند ظهور خلل في الموارد تتدخّل تلقائيًا (بقتل العملية الشاذة)، لمنع تعذّر الوصول إلى الخادم كليًا بسبب OOM (استنفاد الذاكرة) أو انفجار CPU.

لماذا نستخدمها (ما هو OOM / انفجار CPU)

  • OOM (Out Of Memory، استنفاد الذاكرة): تسريب ذاكرة في أحد البرامج، أو طلب كمية ضخمة من الذاكرة دفعة واحدة، ما يملأ ذاكرة الخادم بالكامل. وعندها يبدأ النظام «بقتل العمليات» دفاعًا عن نفسه، لكنه غالبًا يقتل خدمة أساسية معها، بل قد تجمد الآلة كلها.
  • انفجار CPU: يقع أحد البرامج في حلقة لا نهائية أو حساب شاذ، فيشغل كل أنوية CPU. وعندها لا يمكن الاتصال بـ SSH ولا باللوحة، ولا يبقى إلا إعادة التشغيل القسرية.

وهذه الأعطال تقع غالبًا تدريجيًا — تبدأ عملية ما باستهلاك الموارد ببطء، ثم يحدث التجمّد الكامل في النهاية. ودور الحماية من الانهيار هو التدخّل الاستباقي «قبل أن يصبح الأمر غير قابل للعلاج».

حدود الحماية (القيم الافتراضية)

بند الحمايةالحد الافتراضيالسلوك
الذاكرةالذاكرة المتاحة < 8%تفعيل التدخّل، مع قتل العمليات الشاذة المستهلكة لأكثر من 15% (تهدئة 5 دقائق، لتفادي القتل الخاطئ المتكرر)
CPUالحمل > عدد الأنوية × 3لا تتحرّك إلا بعد 3 تجاوزات متتالية للحد؛ ولا تقتل إلا عملية تتجاوز 30%
CPU الحالة القصوىالحمل ≥ الحد × 4تدخّل فوري، دون انتظار العدّ المتتالي (حتى لا يفوت الوقت عند انفجار CPU)
القرصنسبة الاستخدام > 92%تنبيه فقط (بلا حذف تلقائي للملفات)

> هذه قيم افتراضية متحفّظة مُجرَّبة، وتعمل معظم الخوادم بها بأمان دون أي تعديل. وإن أردت تخصيصها، يمكنك تعديل الحدود من لوحة الحماية من الانهيار.

حالات الاستخدام

  • خادم يشغّل برامج ذاكرتها غير مستقرة (مثل بعض تطبيقات Java وسكربتات الزحف)
  • ذاكرة الخادم نفسها صغيرة، وسريعة الامتلاء
  • الرغبة في وجود «خط دفاع أخير» احتياطي، يمنع التجمّد ليلًا دون من يراقبه

طريقة الاستخدام

1. ادخل إلى «لوحة إدارة النظام ← الحماية من الانهيار» في الخادم الهدف

2. اضغط «نشر بنقرة واحدة»، فتنشر اللوحة عملية الحماية على الخادم الهدف عبر SSH

3. بعد النشر يظهر «عملية الحماية قيد التشغيل»، مع قائمة بشرح حدود الحماية الحالية

4. عند تفعيل الحماية، يمكنك مراجعة «أحداث التنبيه»: وقت التفعيل، والسبب (أي عملية، وبقدر كم من الموارد)، وإجراء المعالجة

طريقة النشر

  • الخوادم التي تستخدم systemd (Debian/Ubuntu/CentOS وغيرها): تُنشر كخدمة systemd، مع تشغيل تلقائي عند الإقلاع + إعادة إحياء تلقائية بعد الانهيار (يظهر شعار «تشغيل تلقائي عند الإقلاع»)
  • الخوادم بلا systemd (Alpine وغيرها): يجري الرجوع إلى التشغيل بـ nohup (يمكن المراقبة، لكن لا إعادة إحياء تلقائية بعد إعادة التشغيل، فيلزم النشر يدويًا مرة أخرى)

ملاحظات

1. بلا أثر على الخادم: عملية الحماية سكربت خفيف مستقل، يستهلك موارد ضئيلة جدًا، ولا يؤثر على أعمال الخادم الهدف.

2. حماية بقائمة بيضاء: لا تُقتل افتراضيًا خيوط النواة ولا عمليات النظام الأساسية، تفاديًا لقتل خاطئ يؤدي إلى انهيار النظام.

3. القرص تنبيه فقط دون تنظيف: امتلاء القرص لا يحذف ملفاتك تلقائيًا (تفاديًا لحذف بيانات مهمة)، بل ينبّهك لتتصرّف يدويًا.

4. إلغاء التثبيت: اضغط «إلغاء التثبيت» في لوحة الحماية من الانهيار، وسيُنظَّف كلا من عملية الحماية وخدمة systemd.