背景
在sles 12 SP4上安装MySQL-5.6.39-2.sles12.x86_64.rpm-bundle.tar 后遇到“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” 说明线程数达到了系统允许的最大值,需要增大线程数的个数。
查看max user processes,已经足够大了,但是为什么没有起作用
最终的原因是因为在SUSE 12上增加了systemd的资源控制,其中默认参数为 #DefaultTasksMax=512:
由此可以看到确实是限制了MySQL的最大进程数,当Tasks: 后面的数字达到了512 时,将会保错
只要修改此值将会解决这个报错,编辑 /etc/systemd/system.conf,修改DefaultTasksMax的值,后面的值可根据需要修改,修改后重新启动操作系统
(可以下此命令试一下,“systemctl daemon-reload”,若成功,也可不重启系统 )
查看是否生效: