Cómo resolver problemas de memoria en Linux

Cómo resolver problemas de memoria en Linux

Cómo obtener detalles de un proceso que está consumiendo RAM. Dearribacomando He descubierto que Mysql está consumiendo demasiada RAM, ¿cómo puedo saber por qué Mysql está consumiendo demasiada RAM, lejos del comportamiento habitual?

¿Existe algún comando para obtener más detalles del proceso además de "PD"

Respuesta1

Es posible que desee ejecutar SHOW PROCESSLISTMySQL para obtener información sobre qué consultas se están ejecutando actualmente.

Documentación de MySQL para MOSTRAR LISTA DE PROCESOS

Respuesta2

mytop: una utilidad de línea de comandos para monitorear el rendimiento del servidor MySQL en tiempo real. Para que mytop funcione correctamente, debe tener lo siguiente:

  • Perl 5.005 o más reciente
  • Obteneropt::Largo
  • DBI y DBD::mysql
  • Término::ReadKey de CPAN

Y lo anterior, lo he especificado para distribuciones de Linux.

Respuesta3

Parece que MySQL tiene que crear grandes tablas temporales en memoria mientras procesa una consulta no optimizada.

Si no está habilitado, habilite el registro de consultas lentas agregando lo siguiente a su archivo my.cnf:

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

Luego eche un vistazo al archivo /var/log/mysql/mysql-slow.log. Debe ejecutar EXPLAIN en cada consulta enumerada en el archivo para tener una idea de lo que sucede cuando se ejecuta esa consulta. Con ese conocimiento puede optimizar la consulta para obtener un mejor rendimiento.

información relacionada