Add Swap on Ubuntu Server

လက်ရှိ Server က Digital Ocean ကို အသုံးပြုထားတယ်။ နောက်ပိုင်း node.js app ၂ ခု နဲ့ transmission ကို run လိုက်တော့ memory သုံးတာ များသွားပြီ PHP-FPM က memory မနိုင်တော့လို့ ကျကျ သွားတယ်။ PHP-FPM ကို restart ပြန်ပြန်လုပ်ပေးနေရတယ်။ တစ်ခါတစ်လေ node.js app က ရပ်သွားတယ်။ အဲဒီအခါ node.js app ကို ပြန်ပြီး restart လုပ်ရပြန်ကော။ ကြာတော့ စိတ်မရှည်တာနဲ့ 1 GB ကို ပြောင်းသုံးလိုက်တော့ တော်တော်လေး အဆင်ပြေသွားတယ်။ ပိုက်ဆံကတော့ ၂ ဆ ပေးရတာပေါ့။ မနေ့ကမှ digital ocean dashboard မှာ ပြန်ကြည့်မှာ ကျွန်တော့် server က 20 GB ပဲရတာ တွေ့ရတယ်။ 30 GB ရရမှာ ဘာလို့ 20 GB ပဲရလဲ မေးကြည့်တော့ ကျွန်တော်က Fast Resize လုပ်လိုက်တာကြောင့်လို့ ဆိုတယ်။ Fast Resize က hard disk space ကို resize မလုပ်ပဲ CPU နဲ့ Memory ကိုပဲ resize လုပ်ပေးတာပါ။ တကယ်လို့ 30 GB လိုချင်ရင် လက်ရှိ server ကို Snapshots လုပ်ပြီးတော့ server အသစ်မှာ restore လုပ်လိုက်ရင် ရပါတယ်တဲ့။ ဒါဆိုရင် full feature အပြည့်ရမယ်။ သို့ပေမယ့်လည်း IP ပြောင်းသွားတဲ့ အတွက် domain တွေမှာ လိုက်ပြင်ရအုံးမှာ ဆိုတော့ မပြောင်းချင်တော့ဘူး။

အပြည့်မရတာတဲ့ အတူတူ မသုံးဖူးကွာ ဆိုပြီး 512 ကို ပြန်ဆင်းလိုက်တယ်။ ပြီးတော့ swap 1 GB ထည့်လိုက်တယ်။ ပုံမှန် အားဖြင့် swap ထည့်ပေမယ့် နှေးပါတယ်။ Digital Ocean က SSD ဖြစ်တဲ့အတွက်ကြောင့် ပုံမှန် Hard Drive တွေထက် ပိုမြန်တယ်။ ဒါကြောင့် 1GB Swap ထည့်လိုက်တာ ကျွန်တာ် 1 GB memory မှာ အလုပ်လုပ်တဲ့ နှုန်းနဲ့ 512 MB မှာ အလုပ်လုပ်နိုင်ပါတယ်။

Swap ထည့်ရတာကတော့ လွယ်ပါတယ်။

$ sudo swapon -s

နဲ့ swap ရှိမရှိ စစ်တယ်။

$ df

နဲ့ ကိုယ့်မှာ space ကျန်သေးလား စစ်ကြည့်ပါ။

Space လုံလုံလောက်လောက် ရှိရင်

$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

တကယ်လို့ 1GB swap မသုံးပဲ 512 ပဲ သုံးမယ်ဆိုရင် count=512k လို့ ပြောင်းပေးဖို့ လိုပါတယ်။

of=/swapfile ကတော့ ကိုယ်ပေးချင်တဲ့ swap file name ပေါ့။ ပြီးရင် ကျွန်တော်တို့ စပြီး swap ထည့်လို့ရပါပြီ။

$ sudo mkswap /swapfile
$ sudo swapon /swapfile

ပြီးရင်

$ swapon -s

မှာ ကြည့်လိုက်ရင် swap file ပါလာပါလိမ့်မယ်။ reboot လုပ်လိုက်ရင်တော့ swap က ပျောက်သွားပါလိမ့်မယ်တယ်။ swap ကို permanent ထည့်ဖို့ အတွက် /etc/fstab မှာ ထည့်ပေးဖို့လိုပါသေးတယ်။

$ sudo vi /etc/fstab

ပြီးရင် အောက်က စာ လေး fstab ရဲ့ အောက်ဆုံး အကြောင်းမှာ ထည့်ပေးဖို့လိုပါတယ်။

/swapfile       none    swap    sw      0       0 

ပြီးရင် ကျွန်တော်တို့ permission ပိတ်ဖို့လိုပါတယ်။

$ sudo chown root:root /swapfile 
$ sudo chmod 0600 /swapfile

ပြီးပါပြီ။ ဘာမှ ခက်ခက်ခဲခဲ မလုပ်ရပါဘူး။

တကယ်လို့ swap ကို ပြန်ဖျက်ချင်ရင်

$ /sbin/swapoff -a

အဲဒါဆိုရင် swap တွေ အကုန် ရပ်လိုက်ပါမယ်။ ပြီးရင်

$ sudo rm /swapfile

ပြီးတဲ့အခါ

$ sudo vi /etc/fstab

ထဲဝင်ပြီးတော့ ကျွန်တော်တို့ထည့်ထားတဲ့ swap file ကို ပြန်ဖျက်ပေးဖို့လိုပါတယ်။

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.