X
X

Swappiness في Linux: كيف يقرر النظام استخدام الـ Swap؟

الصفحة الرئيسيةمقالاتSwappiness في Linux: كيف يقرر النظام استخدام ا...

Swappiness في Linux: كيف يقرر النظام استخدام الـ Swap؟

مقدمة

يعتقد كثير من مسؤولي الخوادم أن استخدام ذاكرة Swap يعني أن النظام يعاني من نقص في الذاكرة، لكن الحقيقة أكثر تعقيدًا.

يعتمد Linux على إعداد يسمى Swappiness لتحديد الوقت المناسب لنقل بعض البيانات من الذاكرة الرئيسية (RAM) إلى مساحة Swap، حتى إذا كانت هناك ذاكرة متاحة.

ما هو Swappiness؟

Swappiness هو متغير داخل نواة Linux يحدد مدى ميل النظام لاستخدام مساحة Swap بدلاً من الاحتفاظ بالبيانات داخل RAM.

تتراوح قيمته بين 0 و100.

كيف يعمل؟

  • القيم المنخفضة تجعل النظام يعتمد على RAM لأطول فترة ممكنة.
  • القيم المرتفعة تشجع Linux على استخدام Swap مبكرًا.

ولا يعني ذلك أن النظام سينقل جميع البيانات مباشرة، بل يستخدم هذا الرقم كعامل في اتخاذ القرار.

متى تكون كل قيمة مناسبة؟

قيم منخفضة (10 - 20)

  • قواعد البيانات.
  • خوادم الويب.
  • التطبيقات الحساسة لزمن الاستجابة.

قيم متوسطة (30 - 60)

  • الاستخدام العام.
  • معظم الخوادم الافتراضية.

قيم مرتفعة (70 - 100)

  • أجهزة سطح المكتب.
  • البيئات التي تحتاج إلى الاحتفاظ بذاكرة حرة قدر الإمكان.

فوائد ضبط Swappiness

تحسين زمن الاستجابة

تقليل الاعتماد على Swap في التطبيقات الحساسة.

استغلال أفضل للذاكرة

تحقيق توازن بين RAM وSwap.

تحسين استقرار النظام

منع استهلاك الذاكرة بالكامل في بعض السيناريوهات.

كيف تعرف القيمة الحالية؟

يمكن استخدام الأمر:

cat /proc/sys/vm/swappiness

ولتغييرها مؤقتًا:

sysctl vm.swappiness=10

أفضل الممارسات

  • اختبار الأداء قبل تغيير القيمة.
  • عدم تعطيل Swap بالكامل إلا إذا كان ذلك مدروسًا.
  • مراقبة استخدام الذاكرة بعد أي تعديل.

FAQ

هل القيمة 0 تعني عدم استخدام Swap؟

ليس تمامًا، لكنها تجعل النظام يتجنب استخدامه قدر الإمكان.

هل توجد قيمة مثالية؟

لا، فهي تعتمد على طبيعة التطبيق والأحمال.

الخلاصة

يساعد ضبط Swappiness على تحقيق توازن بين استهلاك RAM وSwap، ويمكن أن يكون له تأثير واضح على أداء الخوادم، خاصة قواعد البيانات والتطبيقات التي تتطلب زمن استجابة منخفضًا.


Top