OOMK mata o mysql e o apache quando ainda há muito [?] de mem [duplicado]

1

deixe-me primeiro dizer que sou um sistema muito novo em ti * nix e ainda mais em gerenciamento de servidores. De qualquer forma, tenho um pequeno problema. Eu tenho VPS com 1gb mem, o sistema é debian 6. Eu tenho poucos sites rodando nele, embora alguma carga só possa ser causada por um deles. Recentemente, o OOMK começou a matar o mysql, causando wp e phpbb dando erro que ele não pode conectar ao servidor mysql. O erro em si não é bom, especialmente se acontecer à noite e o site ficar indisponível até eu acordar e reiniciar o mysql. Eu provavelmente tenho uma linha ruim no meu cron que pode ser a causa de tudo (mais uma vez, eu sou novo nisso)

    */20 * * * *    sync; echo 3 > /proc/sys/vm/drop_caches        

Bem, se você precisar de alguma informação, me avise, já que não sei qual informação pode ser útil aqui. Além disso, gostaria de saber se não é tão ruim ter uma tarefa acima do cron.

    
por Igor Yavych 01.11.2012 / 16:52

2 respostas

2

Não há sentido em executar echo 3 > /proc/sys/vm/drop_caches . À medida que o Linux fica sem memória, ele remove automaticamente os buffers e caches, de modo que você está prejudicando o desempenho do sistema, forçando a remoção de cache de i / o útil.

Você realmente precisa ver o que poderia estar consumindo toda a memória. Veja os seguintes possíveis culpados:

  1. Apache - clientes máximos ou número de servidores muito altos. Eu presumo que você esteja executando no modo pré-fork.
  2. PHP - Memória máxima, upload máximo, número de conexões de banco de dados
  3. Tarefas noturnas do cron, como slocate
  4. Uso de memória do MySQL.

UPD  O MySQL pode estar sendo morto pelo OOMKiller, mas não é realmente a causa. Pode ser apenas o maior consumidor de memória individual.

    
por 01.11.2012 / 17:38
-1

Correção fácil: Coloque mais memória no servidor.

Mas a questão é por que o servidor está ficando sem memória. Você está usando o InnoDB? O tamanho do buffer pool é o tamanho correto? Mais informações são necessárias para ajudá-lo, para começar com a saída do htop e do log do mysql.

    
por 01.11.2012 / 17:15