ছোট সার্ভারের মেমরি সবচেয়ে খারাপ সময়ে ফুরোয়: কোনো apt upgrade, কোনো Docker বিল্ড বা রাতের ব্যাকআপের সময়। সোয়াপ না থাকলে কার্নেলের OOM killer একটি প্রসেস বেছে নিয়ে তা মেরে ফেলে, প্রায়ই আপনার ডেটাবেস। সোয়াপ ফাইল একটি সস্তা সিটবেল্ট, যা ওই উল্লম্ফনগুলোকে বেরোনোর পথ দেয়। পাঁচটি কমান্ড লাগে।
১. কী আছে দেখুন
swapon --show
free -h
swapon --show কিছু না দেখালে এখনো কোনো সোয়াপ নেই।
২. সোয়াপ ফাইল তৈরি করুন
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
chmod 600 গুরুত্বপূর্ণ: সোয়াপে মেমরিতে থাকা যেকোনো কিছুর টুকরো থাকতে পারে, গোপন তথ্যও, তাই শুধু root যেন পড়তে পারে। fallocate যদি “operation not supported” দিয়ে ব্যর্থ হয়, তাহলে এর বদলে dd ব্যবহার করুন:
dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
৩. স্থায়ী করুন
এই ধাপ ছাড়া রিবুটে সোয়াপ হারিয়ে যায়:
echo '/swapfile none swap sw 0 0' >> /etc/fstab
৪. swappiness ঠিক করুন
কার্নেলকে বলুন RAM-কে অগ্রাধিকার দিতে আর মূলত চাপের সময় সোয়াপ ব্যবহার করতে:
echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system
৫. যাচাই করুন
swapon --show
free -h
আপনি একটি 2 GB সোয়াপ ডিভাইস দেখতে পাবেন, আর cat /proc/sys/vm/swappiness 10 দেখাবে।
কত বড়?
- 1–2 GB RAM-এর সার্ভার: 1–2 GB সোয়াপ।
- 4 GB বা তার বেশি: নিরাপত্তা জাল হিসেবে 1–2 GB-ই যথেষ্ট।
সোয়াপের আকার “RAM-এর দ্বিগুণ” রাখবেন না। সার্ভারে সোয়াপ ছোট উল্লম্ফন শুষে নেওয়ার জন্য, এমন কাজ চালানোর জন্য নয় যা মেমরিতে ধরেই না।
যখন সোয়াপ উত্তর নয়
কয়েক দিন এর ওপর নজর রাখুন:
vmstat 5
si আর so কলাম দেখায় প্রতি সেকেন্ডে কত পেজ সোয়াপ থেকে পড়া আর সোয়াপে লেখা হচ্ছে। মাঝে মাঝে কার্যকলাপ স্বাভাবিক। একটানা শূন্যের বেশি মান মানে সার্ভারের মেমরি কম পড়ছে আর সবকিছু ডিস্কের অপেক্ষায়। তখন সমাধান হলো বেশি RAM: দেখুন VPS-এর কত RAM লাগে। EQVPS-এ আপনি নতুন করে ইনস্টল না করেই বড় প্ল্যানে যেতে পারেন; আপনার ডেটা যেখানে ছিল সেখানেই থাকে।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।