MySQL 服务器错误:无法创建新线程(errno 11)

MySQL 服务器错误:无法创建新线程(errno 11)

我目前正在使用 Amazon Linux 对托管在 AWS EC2 上的 PHP、MySQL 应用程序进行压力测试。达到一定数量的用户后,数据库开始出现错误: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

我尝试过更改mysqlin的限制/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

更新:系统重启后即可工作。

答案1

你走在正确的轨道上,但在一些较新的操作系统(例如 CentOS 6)中,存在:

/etc/security/limits.d/

这将覆盖 limits.conf 中的项目。

我建议在这里放置一个更高数字的文件(例如 99-mysql.conf)以满足您的限制。

更多内容请参见: http://www.mysqlperformanceblog.com/2013/02/04/cant_create_thread_errno_11/

相关内容