Как получить подробную информацию о процессе, занимающем оперативную память. Из верхняя Я обнаружил, что Mysql занимает слишком много оперативной памяти, как я могу узнать, почему Mysql занимает слишком много оперативной памяти вдали от обычного поведения?
Есть ли какие-либо команды для получения более подробной информации о процессе, кроме "пс"
Похоже, MySQL вынужден создавать большие временные таблицы в памяти при обработке неоптимизированного запроса.
Если он не включен, включите журнал медленных запросов, добавив в файл my.cnf следующее:
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes
Затем взгляните на файл /var/log/mysql/mysql-slow.log. Вы должны запускать EXPLAIN для каждого запроса, указанного в файле, чтобы получить представление о том, что происходит при выполнении этого запроса. Обладая этими знаниями, вы можете оптимизировать запрос для повышения производительности.
mytop - утилита командной строки для мониторинга производительности MySQL Server в реальном времени. Для правильной работы mytop у вас должно быть следующее:
И выше я указал для дистрибутивов Linux.
Вы можете захотеть бежать SHOW PROCESSLIST
в MySQL, чтобы получить информацию о том, какие запросы выполняются в данный момент.