日常巡查中发现mysql 日志中有大量报错:
2024-09-12 02:51:02 19177 [ERROR] Error log throttle: 3 'Can't create thread to handle new connection' error(s) suppressed
2024-09-12 02:51:02 19177 [ERROR] Can't create thread to handle request (errno= 11)
如下图所示:
问题处理
这个报错一般是因为操作系统中max user process 这个参数设置过小导致的。默认值是1024,一般我们给设置成65536。
如果不想重启mysql,可以动态修改该值:
echo -n "Max processes=2048:2048" > proc/pidof mysqld/limits
注意:pidof mysqld 是mysqld的pid号,可以通过 ps -ef |grep mysqld 查看,如果是多实例,则每个mysqld都要执行一遍。
动态修改完后,修改/etc/security/limits.conf文件使永久生效
vim /etc/security/limits.conf
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
mysql soft nproc 65536
mysql hard nproc 65536
mysql soft nofile 65536
mysql hard nofile 65536
保存退出即可。
注意nproc是控制 max user porcess 值的,nofile是控制文件句柄数的,这两个值在mysql操作系统上一般都要设置大些。
标签:throttle,log,error,nofile,mysqld,nproc,mysql,handle,65536
From: https://www.cnblogs.com/sunjiwei/p/18420059