A mudança do swappiness precisa de uma reinicialização?

11

Se eu configurar o valor de swappiness para outro, por exemplo: 60 a 0, então eu sempre preciso reiniciar a máquina para as mudanças para entrar em vigor? Mesmo quando modificando com:

sysctl -w vm.swappiness=0
    
por evachristine 04.04.2014 / 08:33

4 respostas

21

Tudo está bem explicado na página da Wikipedia que você deu.

# Set the swappiness value as root
echo 10 > /proc/sys/vm/swappiness

# Alternatively, run this as a non-root user
# This does the same as the previous command
sudo sysctl -w vm.swappiness=10

# Verify the change
cat /proc/sys/vm/swappiness
10

Neste ponto, o sistema irá gerenciar o swap como você acabou de configurar, MAS se você reiniciar AGORA, sua mudança será esquecida e o sistema funcionará com o valor padrão (assumindo 60, significando que ele irá começar a trocar 40% de ocupação de RAM).

Você precisa adicionar a linha abaixo em /etc/sysctl.conf para manter sua alteração permanentemente:

vm.swappiness = 10

Espero que esteja mais claro para você agora!

    
por 04.04.2014 / 09:13
6

need to reboot the machine to the changes to take effect?

O oposto, na verdade - a reinicialização irá redefinir o swappiness para seu valor padrão. Para fazê-lo persistir através de reinicializações, você precisa incluir uma diretiva em um script de inicialização ou usar o método recomendado no artigo da wikipedia, adicionando:

vm.swappiness = ??

Para /etc/sysctl.conf (ou um /etc/sysctl.d file), em que ?? é o valor que você deseja usar. Observe que apenas adicionar isso não causará nenhuma alteração no momento.

    
por 04.04.2014 / 08:59
1

Descobri que em uma máquina CentOS , o vm.swappiness estava sendo definido em

/usr/lib/tuned/virtual-guest/tuned.conf

Determine onde o padrão está sendo definido procurando em tuned arquivos de configuração :

sudo grep -R swap /usr/lib/tuned | grep swappiness

Após atualizar o padrão, o swappiness atual ainda pode ser definido sem reinicializar :

sudo sysctl vm.swappiness=10

e testado por:

cat /proc/sys/vm/swappiness

    
por 25.01.2017 / 13:52
0

A resposta aceita está correta, mas é recomendado usar um arquivo de configuração separado "sysctl" para que você não sobrescreva acidentalmente outras configurações (o que pode acontecer se você sobrescrever o arquivo "sysctl.conf" global).

# echo 'vm.swappiness=10' >/etc/sysctl.d/swappiness.conf

Aqueles que já modificaram o arquivo de configuração global "/etc/sysctl.conf" podem querer remover as linhas que definem esse valor "swappiness" desse arquivo. Você poderia usar este comando para remover essas linhas do arquivo de configuração global (mantendo comentários):

# sed -i '/^vm.swappiness=/d' /etc/sysctl.conf

Agora, para aplicar o novo valor, diga sysctl para usá-lo:

# sysctl -p /etc/sysctl.d/swappiness.conf

Ou aplique todas as configurações, incluindo swappiness:

# sysctl -p /etc/sysctl.d/*

Verifique:

# sysctl vm.swappiness
vm.swappiness = 10
    
por 17.09.2017 / 15:26

Tags