Questão O /etc/sysctl.conf não persiste após a reinicialização


Em uma missão para reduzir as freqüentes liberações de memória para o sistema de arquivos, adicionei as duas linhas a seguir /etc/syctl.conf.

vm.dirty_background_ratio = 50
vm.dirty_ratio = 80

Eu então corri sudo sysctl -p e as mudanças estavam no caminho certo. Após a reinicialização do sistema, no entanto, ainda vejo valores antigos para dirty_ratio e dirty_background_ratio.

new-sys-admin@ThinkPad:~$ sysctl -n vm.dirty_background_ratio 
10
new-sys-admin@ThinkPad:~$ sysctl -n vm.dirty_ratio 
5

Estou executando o Ubuntu 12.04.3 LTS 3.2.0-52-generic-pae. Depois de olhar para alguns posts:

parece o trabalho inicial, /etc/init.d/procps é suposto para ser executado na inicialização do sistema e recarregar /etc/sysctl.d/* e /etc/sysctl.conf conteúdo via /etc/init/procup.conf mas não parece que sim.

Na próxima reinicialização, corri service procps start e as mudanças estavam em vigor. Eu estou querendo saber como fazer procps consistentemente no tempo de inicialização e se eu estou faltando uma etapa adicional em fazer essas alterações persistentes.

EDITAR 1

Também tentei ter esses valores em /etc/sysctl.d/10-local.conf como por sugestão de Bill.

new-sys-admin@ThinkPad:~$ cat /etc/sysctl.d/10-local.conf 
vm.dirty_background_ratio = 50
vm.dirty_ratio = 80

Ao reiniciar, os valores são revertidos.


4
2018-04-03 20:06


origem




Respostas:


A resposta de Gsus acima também resolveu o meu problema.

/usr/lib/pm-utils/power.d/laptop-mode escreve valores dirty_ratio=10 dirty_background_ratio=5 writeback_centisecs=500  depois de sysctl processou os arquivos em /etc/sysctl.d.

Mas não estou me sentindo tão confortável em comentar uma linha em um roteiro de pm.

Porque eu estou correndo em um sistema de desktop e estar ciente de que eu não preciso do dirty_* muda de cima, eu tentei me mover /usr/lib/pm-utils/power.d/laptop-mode para outro local. Os utilitários do pm não reclamaram.

Então, uma possibilidade seria desviar o arquivo, de modo que uma atualização do pacote não o recriará.

sudo dpkg-divert --add --rename --divert /usr/lib/pm-utils/power.d/laptop-mode /usr/lib/pm-utils/laptop-mode.diverted

sudo mv /usr/lib/pm-utils/power.d/laptop-mode /usr/lib/pm-utils/laptop-mode.diverted

Você deve  faça isso se você quiser adaptar os parâmetros dirty_ratio dirty_background_ratio writeback_centisecs manualmente.

Para os utilitários de gerenciamento de energia, seria mais claro quando eles criassem um arquivo em /etc/sysctl.d para entender melhor o que está acontecendo.


3
2018-04-10 09:34



Seu comando está incorreto, deve ser: dpkg-divert --add --rename --divert /usr/lib/pm-utils/laptop-mode.diverted /usr/lib/pm-utils/power.d/laptop- Além disso, meu dpkg-divert faz a renomeação automaticamente, então não há necessidade do comando mv. Caso contrário, a solução é muito boa. Obrigado. - soger


Dentro /usr/lib/pm-utils/power.d/laptop-mode, comente a seguinte linha na função laptop_mode_ac():

write_values 0 10 5 500

Lá, os valores mudam para:

dirty_ratio = 10
vm.dirty_background_ratio = 5

então reinicie, os valores de sysctl devem persistir.


1
2018-04-07 12:23



Obrigado Gsus. Eu vou tentar isso. A partir da sua postagem, parece que as alterações acima substituem as configurações do sysctl.conf durante o tempo de inicialização. Se você pudesse adicionar mais informações sobre isso, seria ótimo. - new_sys_admin
No ligação diz que executa os ganchos em /etc/pm/power.d e /usr/lib/pm-utils/power.d, passando o argumento true ao entrar em power save e false ao sair. Então, suponho que durante o tempo de inicialização os ganchos sejam executados pelo menos uma vez. Espero que esta ajuda :) - Gsus
lidar com isso em 14.04, parece um absurdo completo ter sysctl.conf, sysctl.d/, procps.conf e finalmente estes pm-utils coisas, esperançosamente systemd faz as coisas melhor ... - xealits


Coloque seus comandos em um arquivo sob /etc/sysctl.d. Algo como 10-local.conf contendo:

vm.dirty_background_ratio = 50
vm.dirty_ratio = 80

Se o arquivo permanecer no lugar, ele deverá ser executado toda vez que você reiniciar.


0
2018-04-03 21:49



Nenhuma sorte, Bill. Ao reiniciar, esses valores são revertidos. (Eu atualizei a questão com esta informação) - new_sys_admin
O arquivo permanece no lugar? - BillThor
Sim. new-sys-admin @ ThinkPad: ~ / cricfi $ ls /etc/sysctl.d/10-local.conf /etc/sysctl.d/10-local.conf - new_sys_admin