چھوٹے سرورز کی میموری بدترین لمحوں میں ختم ہوتی ہے: apt upgrade، Docker بلڈ، رات کا بیک اپ۔ swap کے بغیر کرنل کا OOM killer کوئی پراسیس چن کر اسے ختم کر دیتا ہے، اکثر آپ کا ڈیٹا بیس۔ swap فائل ایک سستی سیٹ بیلٹ ہے جو ان اچانک اضافوں کو جانے کی جگہ دیتی ہے۔ اس میں پانچ کمانڈز لگتی ہیں۔
1. دیکھیں آپ کے پاس کیا ہے
swapon --show
free -h
اگر swapon --show کچھ نہ دکھائے تو ابھی swap نہیں ہے۔
2. swap فائل بنائیں
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
chmod 600 اہم ہے: swap میں میموری میں موجود کسی بھی چیز کے ٹکڑے ہو سکتے ہیں، رازوں سمیت، اس لیے صرف root اسے پڑھ سکے۔ اگر fallocate «operation not supported» کے ساتھ ناکام ہو تو اس کی جگہ dd استعمال کریں:
dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
3. اسے مستقل بنائیں
اس مرحلے کے بغیر ری بوٹ کے بعد swap غائب ہو جاتا ہے:
echo '/swapfile none swap sw 0 0' >> /etc/fstab
4. swappiness ٹیون کریں
کرنل کو کہیں کہ RAM کو ترجیح دے اور swap زیادہ تر دباؤ میں استعمال کرے:
echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system
5. تصدیق کریں
swapon --show
free -h
آپ کو 2 GB کا swap ڈیوائس نظر آنا چاہیے، اور cat /proc/sys/vm/swappiness کو 10 پرنٹ کرنا چاہیے۔
کتنا بڑا ہو؟
- 1–2 GB RAM والا سرور: 1–2 GB swap۔
- 4 GB اور زیادہ: حفاظتی جال کے طور پر 1–2 GB اب بھی کافی ہے۔
swap کا سائز «RAM کا دُگنا» نہ رکھیں۔ سرور پر swap مختصر اضافوں کو جذب کرنے کے لیے ہے، ایسے کام چلانے کے لیے نہیں جو میموری میں نہ سمائیں۔
جب swap جواب نہیں
چند دن اس پر نظر رکھیں:
vmstat 5
si اور so کالم فی سیکنڈ swap میں آنے اور جانے والے صفحات دکھاتے ہیں۔ کبھی کبھار کی سرگرمی ٹھیک ہے۔ مسلسل غیر صفر قدریں بتاتی ہیں کہ سرور کی میموری کم ہے اور سب کچھ ڈسک کا انتظار کر رہا ہے۔ تب حل زیادہ RAM ہے؛ دیکھیں VPS کو کتنی RAM چاہیے۔ EQVPS پر آپ دوبارہ انسٹال کیے بغیر بڑے پلان پر جا سکتے ہیں؛ آپ کا ڈیٹا وہیں رہتا ہے۔
تبصرے
ابھی کوئی تبصرہ نہیں۔ پہلے بنیں۔