การทำสว็อป (Swap file) บน ubuntu 16.04

“สว็อปไฟล์ (Swap file)” คืออะไร Swap file หรือก็คือ การตั้งการจำลองพื้นที่ของฮาร์ดดิสก์ Virtual Memory มาใช้งานแทน RAM นั้นเอง แต่ความเร็วในการอ่านเขียนข้อมูลนั้นจะเร็วไม่เท่ากับ RAM แต่ก็เป็นการประยุกย์ทรัพยากรที่มีเหลืออยู่มาใช้งานให้เกิดประโยช์นคุ้มค่าสูงสุด

…เนื่องจากผมเจอปัญหาเรื่องของ server blynk ที่มีความต้องการใช้งานเพิ่มมากขึ้นเรื่อยๆ แน่นอนว่ามันทำให้กินทรัพย์ยากรของ server อย่างมาก ตอนนี้ผมใช้สเปค server คือ 2 GB Memory / 25 GB Disk / SGP1 - Ubuntu 16.04.4 x64 ซึ่งผมต้องจ่ายค่า server รายเดือนทุกเดือนนะครับ

ภาพ

ทีนี้ไปดูกราฟ การใช้งานทรัพยากรณ์กันก่อนครับ

จะเห็นว่า ที่วงๆ กันตรง Bandwidth Public นั้นคือ Downtime ที่เกิดขึ้น

เช็ค Swap file ด้วยคำสั่ง

free -h

ตรง Men จะเห็นว่าใช้ไปแล้ว 1.4G จาก 2.0G ซึ่งถ้าเอาจริงๆ หากมีจังหวะที่พีค มากๆ ก็อาจจะไปถึง 2.0G ได้ไม่ยากและทำให้ server ล่มได้ ดังนั้นผมจะเพิ่ม Mem ด้วยการแบ่งฮาร์ทดิส มาทำ Mem ซึ่งความเร็วอาจจะเร็มไม่เท่าแต่อย่างน้อยก็มีสำรองไว้ละครับ

เช็ค HDD ด้วยคำสั่ง

df -h

ภาพ

ต้องงนี้เราใช้ ฮาร์ดดิสอยู่ที่ 16G หรือ 65% จาก 25G

ของพร้อมแล้วมาสร้าง Swap File กัน

ของเดิมมี 2G ผมสร้างเพิ่มเป็น 4G ด้วยคำสั่ง

sudo fallocate -l 4G /swapfile

เราสามารถตรวจสอบว่ามีการจองพื้นที่ที่ถูกต้อง ด้วย

ls -lh /swapfile

output

ภาพ

ทำให้ไฟล์สามารถเข้าถึงได้โดย root เท่านั้นโดยพิมพ์:

sudo chmod 600 /swapfile

ตรวจสอบการเปลี่ยนแปลงการอนุญาตโดยการพิมพ์:

ls -lh /swapfile

ตอนนี้จะเห็นว่าเฉพาะผู้ใช้รูทเท่านั้นที่เปิดใช้งานสถานะการอ่านและเขียน Swap ได้

ภาพ

ตอนนี้เราสามารถทำเครื่องหมายไฟล์เป็นพื้นที่สว็อปโดยพิมพ์:

sudo mkswap /swapfile

ภาพ

หลังจากทำเครื่องหมายไฟล์แล้วเราสามารถเปิดใช้งานไฟล์ swap เพื่อให้ระบบของเราเริ่มใช้ประโยชน์ได้:

sudo swapon /swapfile

เราสามารถตรวจสอบว่าการแลกเปลี่ยนพร้อมใช้งานรึป่าว โดยการพิมพ์:

sudo swapon --show

ภาพ

เช็คดูว่าผลลัพธ์ของยูทิลิตีฟรี เพื่อยืนยันว่า Swap พร้อมใช้งานนะ ด้วย:

free -h

ภาพ

ทำให้ไฟล์ Swap เป็นแบบถาวร หรือเวลา on/off server ใหม่ มันก็จะทำงานในทันทีไม่ต้องใช้คำสั่งเปิดการทำงานใหม่

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

ภาพ

จบข่าวครับ เดียวมาดูกันอีกทีว่า server Blynk จะล่มกันอีกไหม


อ้างอิง

1 Likes

ตอนนี้ก็ทกสอบกันยาวๆ ไปครับ มี Downtime ตั้งแต่วันนี่ 31 มีนา - วันนี้ ยังไม่ล่ม

โหลดเท่าเดิม เพิ่มเติมคือยังไม่ดาวน์นะ อิอิ

ภาพ