วิธีเพิ่มหน่วยความจำ Swap ใน Ubuntu Linux
วิธีที่ง่ายที่สุดวิธีหนึ่งในการดูแลปัญหาหน่วยความจำไม่เพียงพอในแอปพลิเคชันคือการเพิ่มขนาดสวอปในเซิร์ฟเวอร์ของคุณ ในบทความนี้ เราจะอธิบายวิธีเพิ่มไฟล์สลับไปยังเซิร์ฟเวอร์ Ubuntu
ขั้นตอนที่ 1: ตรวจสอบข้อมูล Swap
ก่อนที่เราจะเริ่ม ขั้นแรกตรวจสอบให้แน่ใจว่าระบบมีพื้นที่ swap อยู่แล้วหรือไม่ โดยเรียกใช้คำสั่ง swapon ต่อไปนี้
sudo swapon --show
หากคุณไม่เห็นผลลัพธ์ใดๆ แสดงว่าระบบของคุณไม่มีพื้นที่สว็อปในขณะนี้
คุณยังสามารถยืนยันได้ว่าไม่มีพื้นที่สว็อปให้ใช้คำสั่งฟรี
free -h
คุณสามารถเห็นได้จากผลลัพธ์ข้างต้นว่าไม่มีการสลับที่ทำงานอยู่บนระบบ
ขั้นตอนที่ 2: ตรวจสอบพื้นที่ว่างบนพาร์ติชัน
หากต้องการสร้างพื้นที่สว็อป ขั้นแรกคุณต้องตรวจสอบการใช้งานดิสก์ปัจจุบันของคุณและยืนยันว่ามีพื้นที่เพียงพอสำหรับสร้างไฟล์สว็อปบนระบบ
df -h
พาร์ติชันที่มี /
มีพื้นที่เพียงพอสำหรับสร้างไฟล์สลับ
ขั้นตอนที่ 3: การสร้างไฟล์ Swap ใน Ubuntu
ตอนนี้เราจะสร้างไฟล์สลับชื่อ "swap.img"
บนไดเร็กทอรี root (/)
ของ Ubuntu โดยใช้คำสั่ง fallocate ที่มีขนาดเป็น 1GB (คุณสามารถปรับขนาดได้ตามความต้องการของคุณ) และตรวจสอบขนาดของการสลับโดยใช้คำสั่ง ls ดังที่แสดง
sudo fallocate -l 1G /swap.img
ls -lh /swap.img
จากผลลัพธ์ข้างต้น คุณจะเห็นว่าเราได้สร้างไฟล์สลับด้วยจำนวนพื้นที่ที่ถูกต้อง เช่น 1GB
ขั้นตอนที่ 4: เปิดใช้งานไฟล์ Swap ใน Ubuntu
หากต้องการเปิดใช้งานไฟล์สลับใน Ubuntu ขั้นแรกคุณต้องตั้งค่าการอนุญาตที่ถูกต้องบนไฟล์เพื่อให้เฉพาะผู้ใช้ root
เท่านั้นที่สามารถเข้าถึงไฟล์ได้
sudo chmod 600 /swap.img
ls -lh /swap.img
จากผลลัพธ์ข้างต้น คุณจะเห็นว่ามีเพียงผู้ใช้ root
เท่านั้นที่มีสิทธิ์ในการอ่านและเขียน
ตอนนี้รันคำสั่งต่อไปนี้เพื่อทำเครื่องหมายไฟล์เป็นพื้นที่สว็อปและเปิดใช้งานไฟล์สว็อปเพื่อเริ่มใช้งานบนระบบ
sudo mkswap /swap.img
sudo swapon /swap.img
ตรวจสอบว่าพื้นที่สว็อปพร้อมใช้งานโดยการรันคำสั่งต่อไปนี้
sudo swapon --show
free -h
จากผลลัพธ์ข้างต้น เห็นได้ชัดว่าไฟล์ swap ใหม่ของเราได้ถูกสร้างขึ้นเรียบร้อยแล้ว และระบบ Ubuntu ของเราจะเริ่มใช้งานตามความจำเป็น
ขั้นตอนที่ 5: เมานต์ไฟล์ Swap ถาวรใน Ubuntu
หากต้องการทำให้พื้นที่สว็อปเป็นแบบถาวร คุณต้องเพิ่มข้อมูลไฟล์สว็อปในไฟล์ /etc/fstab
และตรวจสอบโดยใช้คำสั่งต่อไปนี้
echo '/swap.img none swap sw 0 0' | sudo tee -a /etc/fstab
cat /etc/fstab
ขั้นตอนที่ 6: ปรับการตั้งค่า Swap ใน Ubuntu
มีการตั้งค่าบางอย่างที่คุณต้องกำหนดค่าซึ่งจะส่งผลต่อประสิทธิภาพของ Ubuntu เมื่อใช้การแลกเปลี่ยน
การปรับค่า Swappiness
Swappiness คือพารามิเตอร์เคอร์เนล Linux ที่ระบุจำนวน (และความถี่) ที่ระบบของคุณสลับข้อมูลออกจาก RAM ไปยังพื้นที่สว็อป ค่าเริ่มต้นสำหรับพารามิเตอร์นี้คือ “60” และสามารถใช้ค่าใดก็ได้ตั้งแต่ “0” ถึง “100” ยิ่งค่าสูง การใช้พื้นที่สว็อปโดยเคอร์เนลก็จะยิ่งสูงขึ้น
ขั้นแรก ตรวจสอบค่า swappiness ปัจจุบันโดยพิมพ์คำสั่งต่อไปนี้
cat /proc/sys/vm/swappiness
ค่า swappiness ปัจจุบันที่ 60 เหมาะสำหรับการใช้งานเดสก์ท็อป แต่สำหรับเซิร์ฟเวอร์ คุณต้องตั้งค่าให้ต่ำลง เช่น 10
sudo sysctl vm.swappiness=10
หากต้องการทำให้การตั้งค่านี้เป็นแบบถาวร คุณต้องเพิ่มบรรทัดต่อไปนี้ในไฟล์ /etc/sysctl.conf
vm.swappiness=10
การปรับการตั้งค่าความดันแคช
การตั้งค่าที่คล้ายกันอีกอย่างที่คุณอาจต้องการแก้ไขคือ vfs_cache_pressure
– การตั้งค่านี้จะระบุว่าระบบต้องการแคชรายละเอียด inode และ dentry มากเพียงใด ข้อมูลอื่นๆ
คุณสามารถตรวจสอบค่าปัจจุบันได้โดยการสอบถามระบบไฟล์ proc
cat /proc/sys/vm/vfs_cache_pressure
ค่าปัจจุบันตั้งไว้ที่ 100 ซึ่งหมายความว่าระบบของเราลบข้อมูลไอโหนดออกจากแคชเร็วเกินไป ฉันขอแนะนำให้เราควรตั้งค่านี้เป็นการตั้งค่าที่เสถียรกว่านี้ เช่น 50
sudo sysctl vm.vfs_cache_pressure=50
หากต้องการทำให้การตั้งค่านี้เป็นแบบถาวร คุณต้องเพิ่มบรรทัดต่อไปนี้ในไฟล์ /etc/sysctl.conf
vm.vfs_cache_pressure=50
บันทึกและปิดไฟล์เมื่อคุณทำเสร็จแล้ว
ขั้นตอนที่ 7: การลบไฟล์ Swap ใน Ubuntu
หากต้องการลบหรือลบไฟล์สลับที่สร้างขึ้นใหม่ ให้รันคำสั่งต่อไปนี้
sudo swapoff -v /swap.img
sudo rm -rf /swap.img
สุดท้าย ลบรายการไฟล์สลับออกจากไฟล์ /etc/fstab
นั่นคือทั้งหมด! ในบทความนี้ เราได้อธิบายวิธีสร้างไฟล์สลับบนการกระจาย Ubuntu ของคุณ หากคุณมีคำถามใด ๆ เกี่ยวกับบทความนี้ โปรดถามคำถามของคุณในส่วนความคิดเห็นด้านล่าง