Como liberar a memória linux com segurança para melhorar o desempenho do servidor

2

Temos um servidor virtual linux hospedado por meio do GoDaddy, e nosso site está lento recentemente. Eu cutuquei o servidor um pouco (eu não sou um administrador de sistema e tenho experiência muito limitada com o Linux, principalmente a partir de classes de programação C).

Aqui está o que o comando free -m me faz:

[~]# free -m 
             total       used       free     shared    buffers     cached
Mem:          2048       2048          0          0          0          0
-/+ buffers/cache:       2048          0
Swap:            0          0          0

Meu entendimento desse comando e dos resultados é que toda a memória está sendo usada, nada disso está nos buffers, o que me parece muito ruim. Eu noto que a nossa poção mysql está usando cerca de 22% da memória, mas eu não quero mexer com isso, já que os bancos de dados são importantes (não que eu acho que quebraria o banco de dados, mas definitivamente tornaria inacessível o que é mau). Estou pensando que uma reinicialização do servidor é o que há de melhor aqui, mas meu chefe não está querendo o site por nem um segundo, então isso está fora por enquanto. O que mais posso fazer para melhorar a situação?

Não tenho certeza de quais informações são vitais e úteis aqui. Por isso, atualizarei isso com informações se elas forem solicitadas. Este é um servidor de produção, por isso não quero fazer nada como caches.

    
por Marshall Tigerus 05.08.2014 / 21:42

2 respostas

4

Você não tem mais memória. Você tem que otimizar seus processos (mysql, apache ou nginx) ou atualizar para o próximo pacote de servidor virtual com mais memória.

Uma reinicialização não corrigirá seu problema, pois a memória aumentará novamente.

Você tem algum script em execução no seu site? Você se certificou de que eles não estão vazando memória do código?

Instale o HTOP, é uma versão melhorada do TOP para ver o uso de recursos:

yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum install htop
    
por 05.08.2014 / 21:46
0

Como afirmado na outra resposta, marque htop para os principais processos em execução. Além disso, certifique-se de atualizar quaisquer pacotes com     yum update

Como os antigos podem ter vazamentos de memória. Além disso, como você disse que administra um site, é provável que você execute o apache. Tente mudar para nginx (recomendar) ou lighttpd. O Apache é conhecido por consumir recursos para que um servidor web mais leve possa ajudar muito.

Se seu aplicativo da Web puder, tente usar o SQLite em vez do MySQL. É muito mais leve. Finalmente, (aparentemente Godaddy usa o OpenVZ), há uma chance MUITO alta de que seu VPS esteja exagerado como o inferno e o nó do host esteja legitimamente sem memória. Eu sei que você disse que não pode mudar, mas se a oportunidade aparecer, procure por KVM ou Xen. A DigitalOcean é uma excelente fornecedora de KVMs com preços muito acessíveis. O Linode usa o Xen e também é ótimo.

    
por 06.08.2014 / 08:18

Tags