¿Cómo configurar el intercambio por proceso para Linux?

29

/proc/sys/vm/swappinesses agradable, pero quiero una perilla que sea por proceso /proc/$PID/oom_adj. Para que pueda hacer que ciertos procesos sean menos propensos que otros a que se intercambien sus páginas. A diferencia memlock(), esto no impide que un programa se intercambie. Y al igual que nice, el usuario por defecto no puede hacer que sus programas sean menos probables, pero solo más propensos a ser intercambiados. Creo que tuve que llamar a esto /proc/$PID/swappiness_adj.

Dan D.
fuente

Respuestas:

30

Puede configurar el intercambio por cgroup:

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

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

Para una introducción más fácil a cgroups, con ejemplos, vea

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

Déjame ser
fuente
2
Tenga en cuenta que, de acuerdo con la guía RedHat, habilitar memory-cgroup usa memoria adicional, 40 bytes por página. Considere las páginas enormes para reducir el número de páginas en este contexto, consulte wiki.debian.org/Hugepages
Tino