Você pode definir a permutação por processo com cgroups
echo 0 > /sys/fs/cgroup/<your custom group>/memory.swappiness
De qualquer forma, meu conselho é usar zram para troca compactada em memória RAM.
Meu sistema embarcado tem 2 GB de RAM e 100 MB de partição de swap. Eu reconheço, depois de continuar monitorando que o uso médio de memória da RAM é de ~ 50%. Por alguma razão, o sistema começa a usar a memória SWAP e usa quase 40% dela (40 MB). Eu quero evitar tal coisa porque o flash do meu dispositivo tem um grande problema com o número de gravações e eu preciso disso por ~ 10 anos de uso. Depois de executar esses conjuntos de comandos, chego à lista de processos que usam SWAP:
for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less
Meu arquivo de sistema /etc/sysctl.conf
confiured com o parâmetro: vm.swappiness=1
, portanto, de acordo com os artigos que eu li, ele deve usar o SWAP somente se realmente precisar.
(Eu investiguei os resultados com vm.sappiness=0
, mas ainda não tive resultados).
Eu sei que existe uma maneira de evitar processos específicos usando swap, mas o que é correto?
Eu testei em dois sistemas, onde eu detectei anteriormente o uso de 40% da opção SWAP de:
vm.swappiness=0
Esta opção realmente ajudou. Eu não vi nenhum uso de swap nos últimos 4 dias
Tags swap linux process-management