นอกจากนี้คุณยังสามารถตั้งค่า "swappiness" ของคุณจากค่าเริ่มต้นที่ 60 วิธีนี้การแลกเปลี่ยนจะไม่ขยายใหญ่จนเริ่มต้น ทำไมค่าเริ่มต้นการจัดส่งถูกตั้งค่าเป็น 60 เมื่อค่าที่แนะนำคือ 10 ทำให้ฉันงง จาก Ubuntu SwapFAQ :
การตั้งค่าเริ่มต้นใน Ubuntu คือ swappiness = 60 การลดค่าเริ่มต้นของ swappiness อาจจะช่วยปรับปรุงประสิทธิภาพโดยรวมสำหรับการติดตั้ง Ubuntu บนเดสก์ท็อปทั่วไป ขอแนะนำค่า swappiness = 10แต่อย่าลังเลที่จะทดสอบ
ด้วยการเปลี่ยนค่านี้เป็น 10 หรือ 0 คุณสามารถเพิ่มการเร่งความเร็วที่สำคัญและสามารถรับรู้ได้ในระบบเก่าโดยใช้ไดร์ฟช้า การตั้งค่านี้เป็น 0 จะไม่ปิดการแลกเปลี่ยนสำหรับเคอร์เนลลินุกซ์ 3.4 และต่ำกว่า แต่ด้วย 3.5+ คุณจะต้องใช้ค่า 1 หากคุณต้องการคงไว้ที่การตั้งค่าต่ำสุด *
ฉันไม่เห็นเหตุผลที่จะไม่ตั้งค่านี้เป็น 0 เนื่องจากสิ่งใดก็ตามที่พบดิสก์ช้ากว่า RAM ฉันมีคอร์เสมือน 8 คอร์, SSD ที่รวดเร็วและหน่วยความจำ 8 GB และการสลับของฉันถูกตั้งค่าเป็น 0 ณ ขณะนี้ฉันมีเครื่องเสมือน 3 เครื่องที่ทำงานอยู่, การใช้หน่วยความจำของฉันคือ 7.1 จาก 7.7 GB, swap ที่ใช้แล้ว 952MB และระบบทั้งหมดทำงานได้อย่างราบรื่น!
จาก Ubuntu SwapFAQ :
พารามิเตอร์ swappiness ควบคุมแนวโน้มของเคอร์เนลเพื่อย้ายกระบวนการออกจากหน่วยความจำกายภาพและไปยัง swap disk เนื่องจากดิสก์ช้ากว่า RAM มากอาจทำให้เวลาตอบสนองช้าลงสำหรับระบบและแอปพลิเคชันหากกระบวนการย้ายหน่วยความจำออกจากหน่วยความจำมากเกินไป
- swappiness สามารถมีค่าระหว่าง 0 ถึง 100
- swappiness = 0 บอกเคอร์เนลเพื่อหลีกเลี่ยงการสลับกระบวนการจากหน่วยความจำกายภาพนานที่สุด
- swappiness = 100 บอกเคอร์เนลให้ทำการสลับกระบวนการอย่างหนักหน่วงออกจากหน่วยความจำกายภาพและย้ายมันเพื่อแลกเปลี่ยนแคช
ด้านล่างนี้เป็นคำแนะนำพื้นฐานสำหรับการตรวจสอบความว่องไวล้างข้อมูลการแลกเปลี่ยนของคุณและเปลี่ยนความรวดเร็วเป็น 0:
วิธีตรวจสอบค่า swappiness:
cat /proc/sys/vm/swappiness
หากต้องการตั้งค่า swap ชั่วคราวเป็น 0 ( ตามที่ SpamapS แนะนำ ):
การทำเช่นนี้จะทำให้การแลกเปลี่ยนของคุณว่างเปล่าและโอนการแลกเปลี่ยนทั้งหมดกลับสู่หน่วยความจำ ก่อนอื่นตรวจสอบให้แน่ใจว่าคุณมีหน่วยความจำเพียงพอที่จะใช้งานได้โดยดูที่แท็บทรัพยากรของ gnome-system-monitor หน่วยความจำว่างของคุณควรมากกว่า swap ที่ใช้ กระบวนการนี้อาจใช้เวลาสักครู่ใช้ gnome-system-monitor เพื่อตรวจสอบและตรวจสอบความคืบหน้า
sudo swapoff --all
ในการตั้งค่าใหม่เป็น 0:
sudo sysctl vm.swappiness=0
ในการเปิดใช้งานการสลับกลับ:
sudo swapon --all
หากต้องการตั้งค่า swappiness อย่างถาวรเป็น 0:
sudoedit /etc/sysctl.conf
- เพิ่มบรรทัดนี้
vm.swappiness = 0
sudo shutdown -r now
# เริ่มระบบใหม่
* ด้วยเคอร์เนลเวอร์ชัน 3.5+ การตั้งค่า swappiness ให้เป็น 0 จะปิดทั้งหมดและแนะนำให้ตั้งค่า 1 หากคุณต้องการอัลกอริทึม swappiness ต่ำสุด แหล่งที่มา: https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/