como desabilitar usar partição swap por processos, somente se realmente precisar

1

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?

    
por Sergey Meerovich 06.11.2017 / 15:31

2 respostas

4

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.

    
por 06.11.2017 / 16:13
0

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

    
por 10.11.2017 / 09:11