Se eu configurar o valor de swappiness para outro, de ex .: 60 a 0, sempre preciso reiniciar a máquina para que as alterações entrem em vigor? Mesmo ao modificar com:
sysctl -w vm.swappiness=0
Se eu configurar o valor de swappiness para outro, de ex .: 60 a 0, sempre preciso reiniciar a máquina para que as alterações entrem em vigor? Mesmo ao modificar com:
sysctl -w vm.swappiness=0
Respostas:
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 gerenciará a troca como você a configurou, mas se você reiniciar o NOW, sua alteração será esquecida e o sistema funcionará com o valor padrão (assumindo 60, o que significa que começará a trocar a 40% ocupação da RAM).
Você precisa adicionar a linha abaixo /etc/sysctl.conf
para manter sua alteração permanentemente:
vm.swappiness = 10
Espero que esteja mais claro para você agora!
precisa reiniciar a máquina para que as alterações tenham efeito?
Na verdade, o oposto - a reinicialização redefinirá o swappiness para seu valor padrão. Para persistir durante as 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
arquivo), onde ??
está o valor que você deseja usar. Observe que apenas adicionar isso não causará nenhuma alteração no momento.
A resposta aceita está correta, mas é recomendável usar um arquivo de configuração "sysctl" separado para não sobrescrever acidentalmente outras configurações (o que pode acontecer se você sobrescrever o "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 linhas que definem esse valor de "troca" desse arquivo. Você pode usar este comando para remover estas 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
Eu descobri que em uma máquina CentOS , o vm.swappiness
estava sendo instalado
/usr/lib/tuned/virtual-guest/tuned.conf
.
Determinar onde o padrão está sendo definido por olhar através de tuned
arquivos de configuração :
sudo grep -R swap /usr/lib/tuned | grep swappiness
Após atualizar o padrão, a troca atual ainda pode ser definida sem a reinicialização :
sudo sysctl vm.swappiness=10
e testado por:
cat /proc/sys/vm/swappiness
As alterações do usuário sysctl
por convenção entram em arquivos com o prefixo, 60-
portanto o nome do arquivo deve ser /etc/sysctl.d/60-swappiness.conf
. Execute service procps start
como root para forçar uma releitura dos valores de configuração (não é necessário reinicializar).
-w
switch escreva a alteração. Alguém poderia pensar que, depois de escrever isso, não seria necessário adicionar a linha padrão no sysctl.conf.