“สว็อปไฟล์ (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 จะล่มกันอีกไหม
อ้างอิง