Como definir a permuta por processo para linux?

29

/proc/sys/vm/swappinessé legal, mas quero um botão que seja por processo /proc/$PID/oom_adj. Para que eu possa tornar certos processos menos propensos que outros a trocar suas páginas. Ao contrário memlock(), isso não impede que um programa seja trocado. E como niceo usuário por padrão não pode tornar seus programas menos prováveis, mas apenas mais propensos a serem trocados. Eu acho que tive que ligar para isso /proc/$PID/swappiness_adj.

Dan D.
fonte

Respostas:

30

Você pode configurar a troca por cgroup:

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

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

Para uma introdução mais fácil ao cgroups, com exemplos, consulte

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

Deixe me ser
fonte
2
Lembre-se de que, de acordo com o guia RedHat, ativar o memory-cgroup usa memória adicional, 40 bytes por página. Considere hugepages para reduzir o número de páginas neste contexto, ver wiki.debian.org/Hugepages
Tino