Много mysql обрабатывает ошибку журнала слишком много открытых файлов

У меня есть проблемы с сервером CentOS, который это выполняет медленно, htop показывает приблизительно 40 строк этого, которое я думаю, вызывает проблему:

27218 mysql      20   0 17.7G 7449M  5088 S  0.0 46.8  0:00.24 /usr/libexec/mysqld /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql/ --user=mysql --log-error=/var/log/mysqld.log --open-files-limit=102400 --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock

Сервер имеет 16 ГБ RAM, и 17.7G находится в красном. Открытый предел файлов был ранее 65535, таким образом, я увеличил это до 102 400, но он все еще показывает ту же ошибку с более высоким количеством.

Кто-либо может указать на меня в направлении того, как я могу начать отлаживать это? Я проверил mysqld.log, и это не имело ничего касающегося этого, кажется, что ошибка состоит в том, что это не может записать в файл журнала?

-1
задан 5 August 2015 в 14:41
2 ответа

Я догадаюсь о 2-х проблемах:

  1. Ваша система настроена на ограничение вашего пользовательского демона mysqld 1024 открытыми файлами по умолчанию. Установите это значение в гораздо большее, а затем перезапустите mysqld:

    echo "mysql soft nofile 65536" >> /etc/security/limits.conf
    echo "mysql hard nofile 102400" >> /etc/security/limits.conf
    
  2. Ваш innodb_buffer_pool_size слишком велик для вашей проводной памяти:

Отредактируйте свой my.cnf и проверьте его значение. Возможно, попробуйте 50-60% проводной памяти. На это повлияют другие настройки, например, размер буфера на поток, особенно при большом количестве соединений/сессий.

innodb_buffer_pool_size=8G

Менее вероятно - проверьте свои общесистемные лимиты на открытые файлы с помощью:

cat /proc/sys/fs/file-max

Вы можете установить это значение в /etc/sysctl. conf, например:

fs.file-max = 204800

Then load that sysctl change with:

sysctl -p
0
ответ дан 5 December 2019 в 20:34

Статус, на который нужно обратить внимание, - это случайная 46.8%-ая память, что инициирует высокое использование физической памяти. 17.7G включает в себя своп и поэтому может быть не индикативным. Увеличение лимита открытых файлов до 102400 может не помочь, если системный лимит уже 65535.

Я вижу похожие/ повторяющиеся строки на моих тестовых серверах (centOS7 + WHM/cPanel, построенные на VPS). Тестовые приложения работают нормально с использованием 10-20% памяти, но в остальном производительность была быстрой

.
0
ответ дан 5 December 2019 в 20:34

Теги

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