ค้นหาเว็บไซต์

วิธีเพิ่มหน่วยความจำ 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 ของคุณ หากคุณมีคำถามใด ๆ เกี่ยวกับบทความนี้ โปรดถามคำถามของคุณในส่วนความคิดเห็นด้านล่าง