ฉันต้องการวิธีการกำหนดค่า swappiness ทีละขั้นตอนง่ายและสะดวก
sudo sysctl -p
เพื่อโหลดค่า swappiness ใหม่จากไฟล์ sysctl.conf มิฉะนั้นการเปลี่ยนแปลงจะมีผลในการรีบูตครั้งถัดไป
ฉันต้องการวิธีการกำหนดค่า swappiness ทีละขั้นตอนง่ายและสะดวก
sudo sysctl -p
เพื่อโหลดค่า swappiness ใหม่จากไฟล์ sysctl.conf มิฉะนั้นการเปลี่ยนแปลงจะมีผลในการรีบูตครั้งถัดไป
คำตอบ:
เคอร์เนล Linux จัดเตรียมการตั้งค่าที่ปรับแต่งได้ซึ่งควบคุมความถี่ในการใช้ไฟล์สวอปที่เรียกว่า swappiness
การตั้งค่า swappiness ที่ศูนย์หมายความว่าดิสก์จะหลีกเลี่ยงเว้นแต่จำเป็นจริงๆ (คุณมีหน่วยความจำไม่เพียงพอ) ในขณะที่การตั้งค่า swappiness เท่ากับ100หมายความว่าโปรแกรมจะถูกเปลี่ยนเป็นดิสก์เกือบจะในทันที
ระบบ Ubuntu มาพร้อมกับค่าเริ่มต้นที่ 60 หมายความว่าไฟล์ swap จะถูกใช้บ่อยหากการใช้หน่วยความจำอยู่ประมาณครึ่งหนึ่งของ RAM ของฉัน คุณสามารถตรวจสอบค่า swappiness ของระบบของคุณเองโดยการเรียกใช้:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
เนื่องจากฉันมี RAM ขนาด 4 GB ฉันต้องการเปลี่ยนให้เหลือ 10 หรือ 15 ไฟล์ swap จะถูกใช้เมื่อการใช้ RAM ของฉันประมาณ80หรือ90เปอร์เซ็นต์เท่านั้น ในการเปลี่ยนค่าความว่องไวของระบบให้เปิด/etc/sysctl.conf
เป็นรูท จากนั้นเปลี่ยนหรือเพิ่มบรรทัดนี้ในไฟล์:
vm.swappiness = 10
รีบูตเพื่อให้การเปลี่ยนแปลงมีผล
นอกจากนี้คุณยังสามารถเปลี่ยนค่าในขณะที่ระบบของคุณยังคงทำงานด้วย:
sysctl vm.swappiness=10
คุณยังสามารถล้างการแลกเปลี่ยนของคุณได้ด้วยการรันswapoff -a
และจากนั้นswapon -a
เป็นรูทแทนที่จะรีบูตเครื่องเพื่อให้ได้ผลเช่นเดียวกัน
ในการคำนวณสูตรการแลกเปลี่ยนของคุณ:
free -m (total) / 100 = A
A * 10
root@onezero:/home/one# free -m
total used free shared buffers cached
Mem: 3950 2262 1687 0 407 952
-/+ buffers/cache: 903 3047
Swap: 1953 0 1953
ดังนั้นทั้งหมดคือ 3950/100 = 39.5 * 10 = 395
ดังนั้นหมายความว่าเมื่อเหลือแรม10% (395 MB) จากนั้นจะเริ่มใช้ swap
พารามิเตอร์ swappiness ควบคุมแนวโน้มของเคอร์เนลเพื่อย้ายกระบวนการออกจากหน่วยความจำกายภาพและไปยัง swap disk เนื่องจากดิสก์ช้ากว่า RAM มากอาจทำให้เวลาตอบสนองช้าลงสำหรับระบบและแอปพลิเคชันหากกระบวนการย้ายหน่วยความจำออกจากหน่วยความจำมากเกินไป
swappiness
สามารถมีค่าระหว่าง 0 ถึง 100swappiness=0
:
swappiness=1
:
swappiness=100
:
ดูhttp://en.wikipedia.org/wiki/Swappiness
swappiness=60
ตั้งค่าเริ่มต้นในอูบุนตู การลดค่าเริ่มต้นของ swappiness อาจจะช่วยปรับปรุงประสิทธิภาพโดยรวมสำหรับการติดตั้ง Ubuntu บนเดสก์ท็อปทั่วไป swappiness=10
แนะนำให้ใช้ค่าของแต่ไม่ควรทดลอง
เริ่มใช้ swap ที่91% :
เนื่องจากฉันได้กำหนดค่าระบบของฉัน & vm เพื่อใช้ประโยชน์จาก RAM ที่90% , ที่90%ไม่มีการแลกเปลี่ยน
หลังจากนั้นผมเปิดใช้งานบางอย่างเช่น Firefox และชัตเตอร์และมันเริ่มต้นการแลกเปลี่ยนเพราะการใช้ RAM อยู่เหนือ90%
sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf"