الشرح المبسط
الشرح التقني المتقدم
تعتبر مساحة التبديل (Swap space) مكونا حيويا في إدارة الذاكرة (Memory Management) في نظام لينكس. عندما تنفد الذاكرة العشوائية (RAM) المتاحة، تقوم نواة النظام (Kernel) بنقل صفحات الذاكرة (Memory pages) غير النشطة من الذاكرة العشوائية إلى مساحة مخصصة على القرص الصلب تسمى مساحة التبديل، مما يمنع النظام من قتل العمليات عبر تقنية قاتل نفاد الذاكرة (OOM Killer).
كيفية التحقق من مساحة التبديل الحالية
قبل إجراء أي تعديلات، من المهم معرفة حالة مساحة التبديل المتاحة في النظام وكيفية توزيعها.
أمر عرض حالة التبديل:
swapon --show
يساعدك هذا الأمر على رؤية الملفات أو الأقسام (Partitions) المستخدمة حاليا للتبديل، حجمها، وحالة استخدامها.
إنشاء وتفعيل ملف تبديل (Swap File) جديد
إذا كنت بحاجة إلى مساحة إضافية، يمكنك إنشاء ملف تبديل جديد وتفعيله بخطوات بسيطة دون الحاجة لإعادة تقسيم القرص.
لإنشاء ملف بحجم 1 جيجابايت، استخدم الأمر التالي:
sudo fallocate -l 1G /swapfile
بعد إنشاء الملف، يجب إعداده وتفعيله بالترتيب التالي:
- أولا: تغيير الصلاحيات لحماية الملف أمنيا باستخدام أمر sudo chmod 600 /swapfile لكي لا يقرأه المستخدمون العاديون.
- ثانيا: تهيئة الملف كنوع تبديل باستخدام أمر sudo mkswap /swapfile.
- ثالثا: تفعيل المساحة في النظام لتبدأ بالعمل باستخدام أمر sudo swapon /swapfile.
التحكم في معدل التبديل (Swappiness)
قيمة معدل التبديل تحدد مدى رغبة نواة النظام (Kernel) في استخدام مساحة التبديل مقارنة بإسقاط صفحات الذاكرة المخبأة (Cache). القيمة الافتراضية غالبا تكون 60.
للتعديل المؤقت على هذه القيمة إلى 10 (لتقليل استخدام التبديل وتسريع النظام)، استخدم الأمر التالي:
sudo sysctl vm.swappiness=10
ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)
استخدام مساحة التبديل (Swap) يحمي خوادمك من التوقف المفاجئ، ولكن الاعتماد المفرط عليها يشير إلى نقص فعلي في الذاكرة العشوائية (RAM). في الخوادم وقواعد البيانات الحديثة، يفضل ضبط قيمة معدل التبديل (Swappiness) على رقم منخفض مثل 10 لضمان بقاء البيانات المهمة في الذاكرة السريعة لأطول فترة ممكنة، مع الاحتفاظ بمساحة التبديل كخطة طوارئ قصوى فقط.