AntonioK
@AntonioK

На что MySQL тратит системные ресурсы, если запросов нет?

Дано: только что запущенный демон MySQL, на который не поступило ещё ни одного запроса и ни одной попытки установить сессию. Работа СУБД в прошлый раз завершена штатно, никаких процессов восстановления не происходит. Бинлог пустой (106 байт). Однако top показывает, что процесс mysqld кушает 100% WCPU.

Так продолжается минут 5-10, потом нагрузка падает до ожидаемого нуля. Если залогиниться в этот период и посмотреть SHOW FULL PROCESSLIST, там ничего нет. Так что же делает MySQL?

MySQL: 5.1.57-log from FreeBSD port: mysql-server-5.1.57
OS: amd64 FreeBSD 8.0-RELEASE
  • Вопрос задан
  • 3030 просмотров
Пригласить эксперта
Ответы на вопрос 4
kibizoidus
@kibizoidus
Скорее всего набивает кеши или проверяет таблицы.
Смотри логи. Там все должно быть описано.
Ответ написан
mcshadow
@mcshadow
запустите gdb в момент засивания
сделайте attach к зависшему процессу
выполниет thread apply all bt full
вуаля — весь список действий

думаю процесс действительно наполянет табличный кэш, какой-нибудь системный процесс, но так гадать это вилами по воде — смортите, потом расскажите.
Ответ написан
Комментировать
mcshadow
@mcshadow
ещё посмотрите iotop может там чего увидите.
Ответ написан
Комментировать
mgyk
@mgyk
У вас случайно Archive таблиц нет? MySQL при старте начинает их всегда проверять, что выбражается в 10-15 минутах 100% использования CPU. Для большого innodb может индексы в память подгружать/buffer pool инициализировать, посмотрите заодно как меняется использование памяти
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы