Por que a troca está sendo usada mesmo se a taxa de transferência estiver definida como 1 e muita memória RAM estiver livre?

1

Swappiness:

cat /proc/sys/vm/swappiness
1

Gratuito:

 root@server07:~# free

              total        used        free      shared  buff/cache   available

Mem:       16256132     4155932      553748      145196    11546452    10514464

Swap:      19721212     8327508    11393704

Todo o RAM está sendo consumido pelo cache?

PORQUE? Como posso liberar o cache da ram e mover a ram swap para o real?

    
por Scholtz 21.04.2017 / 11:37

2 respostas

3

execute este script uma vez por dia:

#!/bin/sh

sync
echo 1 >/proc/sys/vm/drop_caches
sync
echo 2 >/proc/sys/vm/drop_caches
sync
echo 3 >/proc/sys/vm/drop_caches

mem=$(LC_ALL=C free  | awk '/Mem:/ {print }')
swap=$(LC_ALL=C free | awk '/Swap:/ {print }')

echo $mem
echo $swap

if [ $mem -lt $swap ]; then
    echo "ERROR: not enough RAM" >&2
    exit 1
fi

swapoff -a &&
swapon -a
    
por user2718285 22.04.2017 / 14:21
0

Trocar não é ruim, desabilitando a troca é . Leia o parágrafo 'Por que preciso de swap'?

Dito isso, execute este comando para ativar a troca e ativá-la novamente, essencialmente limpando a troca.

sudo swapoff -a && sudo swapon -a

Você pode escrever um script para fazer isso periodicamente, fazendo

cria o arquivo

sudo nano /usr/local/sbin/swap2ram.sh

cole este código

#!/bin/sh

mem=$(LC_ALL=C free  | awk '/Mem:/ {print }')
swap=$(LC_ALL=C free | awk '/Swap:/ {print }')

if [ $mem -lt $swap ]; then
    echo "ERROR: not enough RAM to write swap back, nothing done" >&2
    exit 1
fi

swapoff -a &&
swapon -a

tornar executável

sudo chmod +x /usr/local/sbin/swap2ram.sh

Neste ponto, você pode executar o comando abaixo para descarregar seu swap de volta para a memória (se houver memória suficiente disponível)

executa o script

sudo /usr/local/sbin/swap2ram.sh

faça um cronjob para executá-lo de hora em hora (escolha a própria preferência)

sudo crontab -e
@hourly /usr/local/sbin/swap2ram.sh

veja o log

grep CRON /var/log/syslog

Referência

Minha sugestão

A redução do swappiness não é uma solução muito boa para o PC de mesa, embora muitos sites sugiram que você faça isso primeiro após a configuração.

Eu sugeriria restaurar o swappiness para o padrão 60 e habilitar o Zswap. Ele irá compactar e armazenar suas páginas antigas na memória, em vez de salvar diretamente na troca. Você pode ver este guia passo a passo .

Estou habilitado e este é meu consumo de memes (com android studio, emulador android, chrome, atom running)

    
por Sirajus Salekin 21.04.2017 / 12:17