เวลาเช่า Virtual Private Servers (VPS) ทำ hosting ไว้วางระบบที่ไม่มีใน host สำเร็จรูป ส่วนใหญ่ราคาที่ต่ำที่สุดที่มีจะให้แรม แค่ 1GB แต่แค่ใน Basic installation | Ubuntu ก็เขียนไว้ว่าต้องการ RAM: 1 gigabyte or more แล้ว แบบนี้จะไม่ทำให้ทำงานช้าได้ยังไง การที่ ram จะเต็มมีอีเมล์ DigitalOcean monitoring resolved: Memory Utilization is running high มาเยือนบ่อย ๆ แก้ได้ง่าย ๆ โดยการกันพื้นที่ hard disk มาแทนแรมเหมือนที่ windows เรียกว่า Virtual Memory นั่นเอง แค่ linux เรียก swap space
- เช็คดูก่อนว่าลินุกซ์ของเรามีการตั้ง swap โดยคำสั่ง
sudo swapon --show
ถ้าไม่เห็น output กลับมาแสดงว่าไม่ได้มีการใช้ swap ไว้ - การทำ swap จะเป็นต้องกันพื้นที่ไว้ใช้แทน ram เราจำเป็นต้องดูก่อนว่าที่ HHD / SSD เหลือให้ใช้อยู่เท่าไหร่ โดยคำสั่ง
df -h
จะมี output พื้นที่ให้ใช้งานได้ออกมา - การที่จะต้องใช้พื้นที่เท่าไหร่ดีในการใช้มาเป็นแรมถึงจะพอ Ubuntu แนะนำไว้ใน SwapFaq ให้มีอย่างน้อยเท่ากับจำนวน RAM ไปจนถึง 2 เท่าของ RAM ส่วน Red Hat ได้ทำตารางไว้ ได้ทำตารางไว้ Chapter 15. Swap Space
แรมที่มี พื้นที่ swap พื้นที่ swap และ Hibernation ⩽ 2 GB 2 เท่าของแรม 3 เท่าของแรม > 2 GB – 8 GB เท่ากับแรม 2 เท่าของแรม > 8 GB – 64 GB อย่างน้อย 4GB 1.5 เท่าของแรม > 64 GB อย่างน้อย 4GB ไม่แนะนำให้ทำ Hibernation Recommended System Swap Space - สร้าง swap file โดยคำสั่ง
sudo fallocate -l 2G /swapfile
- ตรวจสอบพื้นที่โดย
ls -lh /swapfile
จะมีการตอบกลับมา เช่น
-rw-r–r– 1 root root 2.0G Mar 9 07:00 /swapfile - ให้ root สามารถใช้ swap file โดย
sudo chmod 600 /swapfile
- ตรวจสอบ permissions โดยคำสั่ง
ls -lh /swapfile
จะมีการตอบกลับมา เช่น
-rw——- 1 root root 2.0G Mar 9 07:03 /swapfile - ทำให้ไฟล์เป็น swap space โดยคำสั่ง
sudo mkswap /swapfile
- ตรวจสอบโดยคำสั่ง
sudo swapon --show
จะมีการตอบกลับมา เช่น
/swapfile file 2G 271.2M -2 - ตราจสอบ RAM และ swap ที่ว่างโดยคำสั่ง
free -h
- ทำให้ swap ถาวรหลังจาก shutdown, restart และ reboot
- backup /etc/fstab โดยคำสั่ง
sudo cp /etc/fstab /etc/fstab.bak
- เพิ่มบรรทัดสุดท้ายในไฟล์ /etc/fstab โดยคำสั่ง
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
- backup /etc/fstab โดยคำสั่ง
หลังจากนี้เมื่อ RAM ถูกใช้เกินที่มีจะถูกเขียนลงใน HHD / SSD แทนแรมที่มีไม่พอ พวก service ที่ขัดข้อง stop จะน้อยลง
อ่านเพิ่มเติม