Uso da memória do servidor MUITO alto em uma nova caixa de dedicação de linux - Como encontrar o problema?

4

Adquiri recentemente um servidor dedicado rodando o CentOS e o Plesk para os meus aplicativos.

Estes scripts estavam sendo executados em um VPS 1.5GB de RAM rodando CentOS e CPanel e funcionavam muito bem.

Agora eles estão no novo servidor dedicado, a memória foi reduzida de 14,1 GB de RAM para 9,9 GB. Eu não posso ver isso sendo meus scripts, então presuma que há algo mais usando toda a minha memória. Como posso ver o que está comendo todos os recursos?

Nota: A única diferença entre esses servidores (do meu ponto de vista) é que meus crons estavam sendo verificados a cada 5 minutos no servidor antigo, enquanto agora eles são verificados a cada minuto e há cerca de 60 deles.

Esta é a informação de "free" via SSH - Embora, eu não esteja inteiramente certo do que está me dizendo:

[root@h31-3-244-194 ~]# free
             total       used       free     shared    buffers     cached
Mem:      16426796    9373260    7053536          0     390468    3471680
-/+ buffers/cache:    5511112   10915684
Swap:     18481144          0   18481144

EDIT: Eu olhei contra todos os meus processos cron e eles têm este: bin / qmail-queue contra eles. O qmail poderia estar comendo a memória?

Se eu omiti alguma informação solicitada, por favor me avise.

Obrigado.

    
por webnoob 09.06.2011 / 16:33

3 respostas

2

Eu cavei cada vez mais fundo usando este comando:

ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",\$x) } print "" }'

que listou todos os processos no meu servidor e quanta memória eles estavam tomando. Isso então me disse que o qmail estava me enviando mensagens. Eu não preciso do qmail, então o removi. O servidor passou de 100% de uso de RAM para 6% ... Eu não odeio muito o Linux agora xD

Obrigado a Kyle Smith pelos comentários e explicações sobre a memória, mas preciso marcar isso como a resposta, porque explica a razão exata pela qual meus scripts estavam usando mais memória neste servidor.

    
por 13.06.2011 / 00:24
3

O único número com o qual você se importa aqui é este:

[root@h31-3-244-194 ~]# free
             total       used       free     shared    buffers     cached
Mem:      16426796    9373260    7053536          0     390468    3471680
-/+ buffers/cache:    **5511112**   10915684
Swap:     18481144          0   18481144

Esta é a quantidade de memória usada pelos processos do userspace para sua execução. O kernel terá qualquer memória extra que possa obter para o cache de disco e outras razões de desempenho, mas ele será liberado conforme os aplicativos do espaço do usuário o exigirem.

Você provavelmente deseja executar algo como top e tentar descobrir (usando o campo% MEM) o que está consumindo a memória.

Tenha em mente que a memória não utilizada é uma perda de memória! :)

    
por 09.06.2011 / 16:40
2

Este comando listará todos os seus processos classificados por uso de memória:

ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | more

A primeira coluna mostra a porcentagem de memória usada pelo processo. Você pode usar essas informações para descobrir qual processo está usando mais.

A verdadeira questão é. . . Por que você se importa se está usando mais memória quando ainda tem 10 GB livres?

    
por 09.06.2011 / 16:41