В настоящее время я тестирую свое приложение PHP и MySQL, размещенное на AWS EC2, с использованием Amazon Linux. При достижении определенного количества пользователей БД начинает выдавать ошибку: Can't create a new thread (errno 11); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug
. В моей системе все еще много свободной памяти, которую я могу видеть с помощью free -m
когда я получаю эту ошибку.
Я пытался изменить лимиты на mysql
в /etc/security/limits.conf
но безуспешно. Что еще можно попробовать? Как я могу найти корень проблемы? И да, я новичок в MySQL и Linux.
Обновить: После ответа jeffatrackaid
Я пробовал добавить файл конфигурации в каталог /etc/security/limits.d
названный 99-mysql.conf
но ошибка все еще сохраняется. Ниже приводится содержание файла:
mysql soft nproc 20960
mysql hard nproc 45960
mysql soft nofile 20960
mysql hard nofile 45960
root soft nproc 20960
root hard nproc 45960
root soft nofile 20960
root hard nofile 45960
Обновить: Сработало после перезагрузки системы.
Вы на правильном пути, но в некоторых более новых ОС (например, CentOS 6) есть:
/etc/security/limits.d/
Это переопределит элементы, помещенные в limits.conf.
Я рекомендую поместить сюда файл с более высоким номером (например, 99-mysql.conf) с учетом ваших ограничений.
Подробнее см .: http://www.mysqlperformanceblog.com/2013/02/04/cant_create_thread_errno_11/