Uso de alta memória no servidor Linux

2

Eu tenho um servidor LAMP com a seguinte configuração.

CPU: CPU Intel (R) Xeon (R)

RAM: 32 GB

HDD: 80 GB

Execução no ambiente virtual.

Todas as coisas no servidor estão funcionando sem problemas. Mas tenho notado que o uso de RAM é o servidor está aumentando a cada dia sem qualquer razão.

Este é o uso de memória atual no meu servidor.

# free -g
             total       used       free     shared    buffers     cached
Mem:            31         13         17          0          0         10
-/+ buffers/cache:          1         29
Swap:            2          0          2

E você pode ver as últimas 8 semanas de uso de memória abaixo. link

E eu executei o seguinte comando para descobrir quanto de memória cada processo está consumindo.

# 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 "" }'
         0.00 Mb COMMAND 
      2253.62 Mb /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock 
      1171.66 Mb java -jar /etc/vmagent/bin/VMAgent.jar 
       138.27 Mb /sbin/audispd 
       127.75 Mb /usr/sbin/named -u named -c /etc/named.conf -u named -t /var/named/run-root 
        74.29 Mb auditd 
        73.03 Mb automount 
        43.14 Mb /usr/bin/spamd --username=popuser --daemonize --nouser-config --helper-home-dir=/var/qmail --max-children 5 --create-prefs --virtual-config-dir=/var/qmail/mailnames/%d/%l/.spamassassin --pidfile=/var/run/spamd/spamd_full.pid --socketpath=/tmp/spamd_full.sock 
        43.14 Mb spamd child 
        43.14 Mb spamd child 
        37.13 Mb /usr/sbin/httpd 
        37.02 Mb /usr/sbin/httpd 
        36.52 Mb /usr/sbin/httpd 
        36.46 Mb /usr/sbin/httpd 
        36.23 Mb /usr/sbin/httpd ................

Para a solução de problemas, reiniciei os servidores MySQL e APACHE. Mas o resultado foi o mesmo. Reiniciar o servidor inteiro corrigirá o problema, mas quero saber qual é o problema real.

Deixe-me saber se você tem alguma ideia sobre esse problema.

Obrigado,

Arun S

    
por ArunS 21.02.2012 / 11:18

3 respostas

3

-/+ buffers/cache: 1

Você está usando apenas 1 GB. O resto é o cache do sistema.

    
por 21.02.2012 / 11:22
7

Isso é perfeitamente normal. Se você quiser que a memória não seja usada, retire-a do servidor e coloque-a em sua mesa. Memória livre é memória desperdiçada.

O Linux, como a maioria dos sistemas operacionais modernos, pode fazer a transição diretamente da memória de um uso para outro. Torná-lo livre no meio tem custos associados a ele e nenhum benefício associado a ele. Portanto, sistemas operacionais sensatos não fazem isso, a menos que seja necessário.

A memória livre é necessária apenas para determinados casos muito específicos. Por exemplo, a memória livre é necessária para manter os dados recebidos pela rede temporariamente até que o sistema operacional possa processá-los. Como a memória livre tem um alto custo associado a ela (é como se a memória não estivesse lá até onde o desempenho está), o sistema só mantém a quantidade de memória livre necessária para essas situações especiais.

    
por 21.02.2012 / 11:20
1

Leia isto: Linux comeu minha memória

    
por 21.02.2012 / 11:30