7

我有一个运行 Percona Xtradb 服务器的数据库服务器和 5 个从服务器。我总是得到错误

mysql错误:无法创建新线程(errno 11);如果您没有用完可用内存,则可以查阅手册以了解可能与操作系统相关的错误

虽然我设置了 ulimited

root@master:~# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 2062915
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1000000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 1000000
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited





root@master:~# cat /proc/`pidof mysqld`/limits | egrep "(processes|files)"Max processes 1000000 1000000 processes
Max open files 1000000 1000000 files

我真的不知道这是怎么回事?请帮我。

4

2 回答 2

3

在 /etc/security/limits.conf 中添加这样的一行

mysql  soft  nproc  4096

然后重启mysql

于 2013-09-02T23:38:26.700 回答
2

您的系统似乎达到了每个进程的最大线程数,请验证您的系统关于线程的状态:

$ cat /proc/sys/kernel/threads-max

$ echo 'SHOW STATUS;' | mysql | grep -i threads

您还应该查看有关 thread_cache_size 的当前设置,此链接可能会有所帮助: https ://serverfault.com/questions/408845/what-value-of-thread-cache-size-should-i-use

PS:此主题应发布在 serverfault.com

于 2013-04-01T09:32:36.260 回答