Назад | Перейти на главную страницу

Использование памяти MySQL - периодически требуется запускать FLUSH TABLES, или использование памяти продолжает расти с включенными большими страницами

После переключения нашего сервера базы данных с большим объемом памяти и физических ядер на большие страницы мы заметили небольшую проблему.

Использование памяти почти похоже на утечку памяти.

Но запуск FLUSH TABLES очищает около 10 гигабайт используемой памяти (в зависимости от того, когда мы запускаем его, конечно, например, как долго мы ждем).

Прилагается диаграмма мунинов, показывающая использование памяти.

Что заставляет нас принудительно СМЫВАТЬ ТАБЛИЦЫ каждые 2 дня или около того?

Примечания к прилагаемой таблице:

a) Хорошее использование плоской памяти в начале диаграммы - это когда мы запускали (Oracle) MySQL 5.6 БЕЗ больших страниц.

б) Падение использования памяти между 10–11 было, когда мы запускали Percona 5.6 С большими страницами. В конце 11 мы снова переключились с Percona на Oracle MySQL 5.6 (но решили оставить большие страницы включенными).

c) Уменьшение использования памяти между 12-14.5 произошло, когда мы вернулись к (Oracle) MySQL 5.6 с включенными большими страницами. Мы думали, что это увеличение использования памяти было вызвано какой-то утечкой памяти в Percona. Вот почему мы снова перешли на (Oracle) MySQL 5.6. Хранение больших страниц.

г) Снижение использования памяти около 14,5 произошло, когда мы впервые попытались запустить FLUSH TABLES (на данный момент все еще работает Oracle MySQL 5.6, без перезапуска, просто выполняется простая FLUSH TABLES).

После этого переключения вперед и назад мы узнали, что причиной была НЕ percona 5.6, а большие страницы.

Итак, подведем итог:

Что заставляет нас запускать FLUSH TABLES каждые 2 дня или около того, чтобы предотвратить нехватку памяти при включенных больших страницах?

Я понимаю, что мы можем запланировать FLUSH TABLES в непиковое время, но мы хотели бы решить эту проблему должным образом.

Спасибо!

Не думаю, что это утечка памяти. Может случиться так, что без больших страниц ваше использование памяти достигнет верхней границы (потолка), поэтому использование памяти выглядит плоским. После переключения на большие страницы MySQL, возможно, просто смог лучше использовать доступную память. Система не выполняет свопинг. Скажу внимательно следить и перестать промывать столы.