A próxima causa em sobrecarga é um sistema que não tem memória RAM disponível e começou a entrar em SWAP. Como o espaço de SWAP é geralmente em um disco rígido que é muito mais lento que a memória RAM, quando você usa a memória RAM disponível e passa a utilizar a memória SWAP, cada processo fica mais lento dramaticamente, à medida que o disco se acostuma.
O
top novamente pode nos ajudar a identificar se o problema de lentidão é por falta de memória RAM.
Quando eu quero diagnosticar problemas de memória insuficiente, o primeiro lugar que eu olho é o próximo par de linhas na saída
top:
# top
Mem: 1024176k total, 997408k used, 26768k free, 85520k buffers
Swap: 1004052k total, 4360k used, 999692k free, 286040k cached
Esse comando engana muita gente que acha que a memória está sobrecarregada. Aparentemente, você só tem 26768k de memória livre, o que dá a impressão que está faltando memória para o servidor, mas isso não é verdade.
O
GNU/Linux usa a memória inutilizada pelo seu sistema para o
cache de disco. Isso nos dá a impressão que o sistema tenha pouca memória, mas não é isso. Se os aplicativos que você executar requererem mais memória, simplesmente o GNU/Linux vai devolver o cache de disco que foi emprestado temporariamente.
O cache de disco pode sempre ser devolvido a qualquer momento - e automaticamente - pelo seu sistema. Você não está com falta de memória RAM!
E para saber o que realmente o seu sistema está utilizando, sem contar o cache, vamos utilizar outro comando:
# free -m
total used free shared buffers cached
Mem: 1504 1491 13 0 91 764
-/+ buffers/cache: 635 869
Swap: 2047 6 2041
Para verificar quanta memória RAM está disponível para uso em suas aplicações, execute um
free -m e veja a linha que diz "-/+ buffers/cache" na coluna que diz "free", esta é a sua resposta em megabytes.