限制MySQL分叉进程

如何限制MySQL分叉的进程数量? 我注意到在启动时至less有10个孩子。 这是一个不在生产中的开发数据库; 所以没有用户连接到它。

您可以尝试通过更改以下值来减less进程/线程的数量:

MAX_USER_CONNECTIONS

MAX_CONNECTIONS

max_delayed_threads

例如在my.cnf中:

max_connections = 1 max_user_connections = 1 max_delayed_threads = 1 

但是这并不能保证会有更less的进程/线程,因为并不是所有的进程/线程都是连接相关的。

使用max_user_connections来限制单个mysql用户一次可以拥有的连接数

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_user_connections

您需要尝试一些不同的max_connections和max_user_connections的设置/组合,以获得最佳性能而不会耗尽连接。

连接和线程之间的比例也不是1:1。

http://dev.mysql.com/doc/internals/en/threads.html

什么@ b13n1u说。 如果这不起作用,任何程序都可能受到标准限制的限制。 这个问题作为一个相关的例子。

为了限制Linux中的mysqld进程,在启动mysqld之前设置例如“ ulimit -u 5 ”,也许把它添加到mysql init脚本中。