De tempos em tempos, o "meu" servidor para porque fica sem memória e espaço de troca. (continua respondendo ao ping, mas nada além disso, nem mesmo ssh).
Disseram-me que o linux faz um comprometimento excessivo de memória, que, pelo que entendi, é o mesmo que os bancos com dinheiro: concede aos processos mais memória do que realmente disponível, assumindo que a maioria dos processos não use realmente toda a memória que solicita, em pelo menos nem todos ao mesmo tempo.
Suponha que essa seja realmente a causa pela qual meu sistema ocasionalmente trava; não vamos discutir aqui se esse é ou não o caso (consulte O que pode fazer com que TODOS os serviços de um servidor sejam inoperantes, ainda respondendo ao ping? E como descobrir ) .
Tão,
como desabilito ou reduzo drasticamente o comprometimento excessivo da memória no CentOS? Eu li que existem duas configurações chamadas vm.overcommit_memory (valores 0, 1 ou 2) e vm.overcommit_ratiom, mas não tenho idéia de onde devo encontrá-las e alterá-las (espero que algum arquivo de configuração), que valores devo tentar e se preciso reiniciar o servidor para efetivar as alterações.
e é seguro? Que efeitos colaterais eu poderia esperar? Ao pesquisar no overcommit_memory, encontro coisas assustadoras, como pessoas dizendo que o servidor não pode mais inicializar ....
Como o que causa o aumento repentino no uso da memória é o mysql, devido a consultas feitas pelo php que, por sua vez, são chamadas enquanto atendem solicitações http, eu esperaria que apenas algum script php não fosse concluído e, portanto, 500 respostas de tempos em tempos quando o servidor está muito ocupado, o que é um risco que posso correr (certamente melhor que todo o servidor fique inacessível e precise reiniciá-lo com força).
Ou pode realmente fazer com que o meu servidor não consiga reiniciar se eu escolher as configurações incorretas?