Como descubro quais sites estão usando muita RAM na minha caixa de hospedagem na Web do linux?

5

Situação

Eu tenho acesso root a um servidor privado virtual (no Dreamhost) onde hospedo meus sites. Estou limitado pela RAM (atualmente 500 MB), portanto, se um site (script deste site) exigir muita RAM, todo o meu VPS será encerrado e reiniciado, derrubando todos os outros sites com ele!

Meu uso médio é de cerca de 100 MB, então nem de longe o limite, mas de alguma forma algum script ainda faz isso: pede muita RAM e então o watchdog do Dreamhost mata meu VPS. Tudo acontece em milissegundos (assim eles dizem) e eu não consigo descobrir facilmente o que está acontecendo.

Pergunta

Como posso descobrir qual script está causando isso? Dreamhost não tem sido útil com isso e eu não sou exatamente o melhor hacker linux:).

Mais alguns detalhes

Todos os meus sites estão hospedados no Apache e estão todos em PHP.

    
por duality_ 10.08.2011 / 10:29

1 resposta

6

Descarte o limite de memória do PHP para um valor mais baixo ( memory_limit config var em php.ini ); o script que está consumindo toda a memória irá errar e identificará o problema. Se o problema persistir sem erros visíveis, continue a reduzir o limite de memória. Se tudo começar a aparecer, você caiu demais. Se você não consegue encontrar um meio feliz entre "tudo morre" e "nada morre", considere a possibilidade de que não é realmente um script PHP monopolizando toda a sua memória, e comece a olhar para outras possibilidades (agendas, processamento em segundo plano, tipo de coisa).

    
por 10.08.2011 / 10:43