วิธีการตั้งค่าต่อการแลกเปลี่ยนกระบวนการสำหรับลินุกซ์?


29

/proc/sys/vm/swappinessเป็นสิ่งที่ดี แต่ฉันต้องการลูกบิดที่เป็นไปตามกระบวนการเหมือน/proc/$PID/oom_adjกัน เพื่อให้ฉันสามารถทำให้กระบวนการบางอย่างมีโอกาสน้อยกว่าผู้อื่นที่จะสลับหน้าของพวกเขาออกไป ซึ่งแตกต่างจากmemlock()นี้ไม่ได้ป้องกันโปรแกรมจากการถูกสลับออก เช่นเดียวniceกับผู้ใช้โดยค่าเริ่มต้นไม่สามารถทำให้โปรแกรมของพวกเขามีโอกาสน้อยลง แต่มีแนวโน้มที่จะเปลี่ยนเป็น /proc/$PID/swappiness_adjผมคิดว่าผมต้องเรียกสิ่งนี้ว่า

คำตอบ:


30

คุณสามารถกำหนดค่า swappiness ต่อ cgroup:

http://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt

http://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt

สำหรับการแนะนำกลุ่ม cg ที่ง่ายขึ้นด้วยตัวอย่างให้ดู

https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.html


2
ระวังว่าตามคู่มือ RedHat การเปิดใช้งาน memory-cgroup ใช้หน่วยความจำเพิ่มเติม 40 ไบต์ต่อหน้า พิจารณา hugepages เพื่อลดจำนวนหน้าในบริบทนี้ดูwiki.debian.org/Hugepages
Tino
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.