Sistema lento? Encontrando a causa do problema

O que você faz quando recebe um alerta de que o seu sistema está lento ou sobrecarregado? Rastrear a causa da sobrecarga só leva algum tempo, alguma experiência e algumas ferramentas do GNU/Linux.

[ Hits: 33.733 ]

Por: Arthur Gregory Matiello em 26/01/2015


Problema causado por memória insuficiente



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.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Problema causado por memória insuficiente
   3. Problema causado por alto I/O do disco
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Fundamentos do sistema Linux - hardware

Estudantes de computação e o Linux/Unix

Guia básico de como usar comandos no Linux

Monitorando a saúde do Apache (Prometheus + Grafana)

Empacotamento e compactadores de arquivos

  
Comentários
[1] Comentário enviado por danniel-lara em 26/01/2015 - 14:53h


Parabéns , muito bom o Artigo

[2] Comentário enviado por arthurmatiello em 26/01/2015 - 15:03h

Valeu

[3] Comentário enviado por fabio em 26/01/2015 - 15:13h

Gostei da forma como o assunto foi explicado, parabéns!

[4] Comentário enviado por arthurmatiello em 26/01/2015 - 19:53h


[3] Comentário enviado por fabio em 26/01/2015 - 15:13h

Gostei da forma como o assunto foi explicado, parabéns!


Muito obrigado

[5] Comentário enviado por MarlonSales em 26/01/2015 - 21:13h

serve pra Ubuntu?

[6] Comentário enviado por arthurmatiello em 26/01/2015 - 21:32h


[5] Comentário enviado por MarlonSales em 26/01/2015 - 21:13h

serve pra Ubuntu?


Sim...

[7] Comentário enviado por wagnerfs em 26/01/2015 - 23:35h

Parabéns amigo por compartilhar o conhecimento.

_________________________
Wagner F. de Souza
Graduado em Redes de Computadores
"GNU/Linux for human beings."
LPI ID: LPI000297782

[8] Comentário enviado por arthurmatiello em 26/01/2015 - 23:46h


[7] Comentário enviado por k666 em 26/01/2015 - 23:35h

Parabéns amigo por compartilhar o conhecimento.

_________________________
Wagner F. de Souza
Graduado em Redes de Computadores
"GNU/Linux for human beings."
LPI ID: LPI000297782


Obrigado

[9] Comentário enviado por jonasof em 26/01/2015 - 23:51h

Finalmente descobri o que significavam os três números do uso de CPU!! Obrigado pelo artigo.

[10] Comentário enviado por eldermarco em 27/01/2015 - 07:31h

Muito bom! Agora saberei melhor como verificar isso!

[11] Comentário enviado por glaucoperucchi em 27/01/2015 - 09:45h


Me tirou alguns duvidas que eu tinha com este artigo! Muito obrigado!

[12] Comentário enviado por kennerc em 27/01/2015 - 11:09h

Muito bom o artigo!

Seria possível verificar se a lentidão está ocorrendo por HD já com problemas?

[13] Comentário enviado por hygorgaldino em 27/01/2015 - 15:04h


Parabéns, show de bola...

[14] Comentário enviado por arthurmatiello em 28/01/2015 - 09:42h


[12] Comentário enviado por kennerc em 27/01/2015 - 11:09h

Muito bom o artigo!

Seria possível verificar se a lentidão está ocorrendo por HD já com problemas?


Não entendi sua pergunta.

Com o comando iostat, ele mostra todos os discos, lá você consegue ver qual está com uma leitura e/ou escrita alta e identificar qual disco ou partição está o problema.

Se quiser verificar a saúde do disco, utilize:
badblocks -v /dev/disco

[15] Comentário enviado por mangierre em 30/01/2015 - 10:42h


Belo tutorial!

[16] Comentário enviado por felipemartinsss em 30/01/2015 - 13:43h

Muito interessante esse artigo, favoritado.
Tenho algumas classes complexas escritas em Java que a meu ver, consomem muita memória (até estourar um OutOfMemoryError).
Mas nunca rodei esse comando para acompanhar a evolução desse uso.
Vou fazer isso quando puder.

[17] Comentário enviado por Limassauro em 01/02/2015 - 18:28h

Parabéns pela iniciativa, explicativo, didático.

[18] Comentário enviado por albfneto em 03/02/2015 - 15:12h

o Artigo é excelente e muito útil. Favoritado.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux,Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva.

[19] Comentário enviado por mcnd2 em 05/02/2015 - 22:42h

Muito bom o artigo, simples e didático.

10!

[20] Comentário enviado por Andrerazak em 09/03/2018 - 14:01h

Muito bom, bem explicado.
Parabéns.

[21] Comentário enviado por rafael_r em 25/02/2019 - 10:46h

Parabéns pelo artigo, muito bom!
Dúvida, qual a média de % do WA que podemos considerar como I/O alto?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts