На моем Linux-сервере я столкнулся с проблемой сегодня утром. Я понял, что после того, как я убил все фоновые задачи, которые составляли записи за 200 бит базы данных (размером 1 ГБ) всю ночь, мое использование процессора по-прежнему составляло 80%, только благодаря MySQL. Ни перезагрузка, ни перезапуск MySQL или nginx не работали.как избежать высокой загрузки процессора, когда нет активных запросов
«InnoDB сохранил данные в строках, которые он изменял, и запросы к этим изменениям, которые все еще откатываются, должны прозрачно отвечать на данные, которые все еще находятся в журнале отмены».
Я не слишком знаком с этой темой, но похоже, что это ответ на вопрос, почему существует высокая загрузка процессора, даже если нет запросов. Когда я SHOW PROCESSLIST
, он показывает три соединения, и он говорит в «состоянии» -колонке «Копирование в таблицу tmp».
Я думаю, что сейчас мне просто нужно подождать, пока все эти процессы отката не закончатся, но почему они возникают в первую очередь и как я могу избежать этого снова?
Не убивайте процессы mysql. Избегайте прерывания транзакций. – jcaron