如何为 linux 设置每个进程的交换率?

Dan*_* D. 34 linux process swap

/proc/sys/vm/swappiness很好,但我想要一个像/proc/$PID/oom_adj. 这样我就可以让某些进程比其他进程更不可能换掉它们的任何页面。与 不同memlock(),这不会阻止程序被换出。就像nice,默认情况下,用户不能使他们的程序不太可能,但只会更有可能被交换。我想我不得不调用这个/proc/$PID/swappiness_adj

Šim*_*óth 34

您可以为每个 cgroup 配置 swappiness:

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

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

有关 cgroups 的更简单介绍,以及示例,请参阅

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

  • 请注意,根据 RedHat 指南,启用 memory-cgroup 会使用额外的内存,每页 40 字节。在这种情况下考虑使用大页面来减少页面数量,请参阅 https://wiki.debian.org/Hugepages (2认同)