#mysql #linux #ubuntu
Вопрос:
У меня есть сервер ubuntu версии 20.04.2 LTS. На нем я установил только mysql версии 8.0.25-0ubuntu0.20.04.1
Это выделенный сервер, поэтому мой файл.cnf настроен следующим образом:
innodb_dedicated_server = 1
skip_name_resolve = 1
key_buffer_size = 16M
myisam-recover-options = BACKUP
max_binlog_size = 100M
Сервер представляет собой виртуальную машину vmware, оснащенную 10 ГБ оперативной памяти, 8 процессорами (2 ядра, 4 сокета).
Проблема в следующем: время от времени (раз в день или каждые 2 дня) mysql вылетает с сообщением «не хватает памяти». Например, всего минуту назад я проверил свою свободную память с помощью free-m, и она была 130. Я подумал, что, вероятно, это нормально из-за innodb_dedicated_server. Я запустил таблицу alter в таблице с 3,5 миллионами строк, и вот тогда она рухнула. Вероятно, у него не хватило памяти для таблицы изменений.
Как я могу это оптимизировать? Я бы хотел, чтобы он использовал как можно больше памяти, но я не хочу, чтобы он зависал из-за таблицы alter…
Какая-нибудь помощь? Спасибо!
Редактировать:
как уже отмечалось, я перенес обсуждение сюда:
Комментарии:
1. Это не вопрос кодирования. Пожалуйста, задавайте такие вопросы по адресу serverfault.com или superuser.com
2. Похоже, что остальная часть виртуальной машины используется другими приложениями. Кроме того, в чем заключается ценность
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
?3. ‘innodb_buffer_pool_size’, ‘8589934592’