Como resolver problemas de memória no Linux

Como resolver problemas de memória no Linux

Como obter detalhes de um processo que está consumindo RAM. Deprincipalcomando, descobri que o Mysql está consumindo muita memória RAM, como posso saber por que o Mysql está consumindo muita memória RAM, longe do comportamento normal?

Existe algum comando para obter mais detalhes do processo além de "obs:"

Responder1

Você pode querer executar SHOW PROCESSLISTno MySQL para obter informações sobre quais consultas estão em execução no momento.

Documentação MySQL para SHOW PROCESSLIST

Responder2

mytop - Um utilitário de linha de comando para monitorar o desempenho do servidor MySQL em tempo real. Para que o mytop funcione corretamente, você deve ter o seguinte:

  • Perl 5.005 ou mais recente
  • Obteropt::Longo
  • DBI e DBD::mysql
  • Termo::ReadKey do CPAN

E o acima, especifiquei para distribuições Linux.

Responder3

Parece que o MySQL está tendo que criar grandes tabelas temporárias na memória enquanto processa uma consulta não otimizada.

Se não estiver habilitado, habilite o log de consulta lenta adicionando o seguinte ao seu arquivo my.cnf:

log_slow_queries   = /var/log/mysql/mysql-slow.log
long_query_time    = 2
log-queries-not-using-indexes

Então dê uma olhada no arquivo /var/log/mysql/mysql-slow.log. Você deve executar EXPLAIN em cada consulta listada no arquivo para ter uma ideia do que está acontecendo quando a consulta é executada. Com esse conhecimento você pode otimizar a consulta para obter melhor desempenho.

informação relacionada