ذاكرة swap هي جزء من القرص يستخدمه النظام كذاكرة احتياطية عندما تمتلئ ذاكرة RAM. ومن دونها، إذا نفدت الذاكرة، يُنهي Linux العملية الأكثر استهلاكًا، وهي في الغالب خادم الألعاب أو قاعدة البيانات بالذات.
هل لديك swap بالفعل؟
swapon --show
free -h
إذا لم يُرجع الأمر swapon --show أي شيء، فليس لديك swap.
إنشاء ملف swap بحجم 2 GB
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
السطر الأخير يُبقيها مفعّلة بعد إعادة التشغيل. يكفي عادةً ما بين 1 و2 GB، وهي تشغل هذه المساحة نفسها من القرص.
استخدامها فقط عند الحاجة الفعلية
افتراضيًا، يبدأ Linux بنقل البيانات إلى swap في وقت مبكر نسبيًا. أما في الخادم، فمن الأفضل أن ينتظر حتى يحتاج إليها فعلًا:
sysctl vm.swappiness=10
echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf
ما لا تفعله ذاكرة swap
القرص أبطأ بكثير جدًا من ذاكرة RAM. فإذا كان خادم الألعاب يعيش على swap، فسيتقطّع على أي حال. استخدمها كشبكة أمان للذروات العابرة؛ وإذا رأيت بالأمر free -h أنها تُستخدم باستمرار، فما تحتاج إليه هو المزيد من RAM: قم بترقية الخطة، وهذا يتم دون نقل أي شيء.