Como faço para definir o memory.swappiness padrão para todos os cgroups do systemd?

1

No CentOS 7, como eu defino o padrão memory.swappiness para todos os cgroups do systemd? Eu posso fazer isso por cgroup através da opção ControlGroupAttribute, mas eu gostaria de substituir o padrão de 60 para todos os cgroups.

    
por Jeff Kubina 27.09.2016 / 04:13

1 resposta

1

Se você quiser fazer isso para todos os cgroups, você quer fazer isso para todo o sistema? Se este for o caso, você pode configurar o swappiness em todo o sistema em "/etc/sysctl.conf". A linha que você estaria editando é "vm.swappiness=", que pode ser definida como 0 a 100.

Como um bom aviso para qualquer um que mova este valor como uma maneira de evitar a troca completa, definir isso muito baixo desativará quase inteiramente a paginação sob demanda, que é uma maneira muito útil de obter páginas ociosas fora da RAM e em swap. Sim, é "trocar", mas isso não é uma coisa tão desesperada quanto a tradicional sensação de troca quando ficamos sem memória. A paginação sob demanda é especialmente útil em bancos de dados grandes, e não deve realmente reduzir a velocidade de nada. Certamente é melhor trocar as coisas quando estamos sem memória no último segundo, já que a paginação de demanda ajuda a evitar que isso aconteça, em primeiro lugar, enquanto o sistema não está interrompendo, ao invés de depois isto é. Uma configuração de 0 para o vm.swappiness em todo o sistema pode fazer com que o sistema mate os processos do OOM quando estiver sob strong pressão, potencialmente colocando todo o sistema em um pânico no kernel.

Também vale a pena mencionar que você deve chamar o arquivo sysctl.conf para ser lido após editá-lo. # sysctl -p lê linhas que foram modificadas em /etc/sysctl.conf. vm.swappiness pode ser alterado em um sistema em execução dessa maneira, ou usando procfs assim: # echo 50 > /proc/sys/vm/swappiness em que 50 é qualquer número de 0 a 100.

    
por 27.09.2016 / 06:33