如何限制 MySQL 产生的子进程数?

Dan*_*scu 8 memory mysql process

有没有办法限制孩子的数量而不是mysqld产卵?或者不应该担心这一点?我的 VPS 只有 512MB 的内存。

这是htop, 在我设置max_connections为 6 并重新启动mysql服务后的输出:

  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
27082 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.41  `- /usr/sbin/mysqld
27121 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.05  |   `- /usr/sbin/mysqld
27099 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.23  |   `- /usr/sbin/mysqld
27097 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27096 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27095 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27094 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.02  |   `- /usr/sbin/mysqld
27093 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.01  |   `- /usr/sbin/mysqld
27091 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27090 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27089 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27088 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
Run Code Online (Sandbox Code Playgroud)

我已经使用 aptitude 安装了 MySQL。

$ aptitude search '~i'
i A mysql-client-5.1                                                                - MySQL database client binaries
i A mysql-client-core-5.1                                                           - MySQL database core client binaries
i A mysql-common                                                                    - MySQL database common files, e.g. /etc/mysql/my.cnf
i   mysql-server                                                                    - MySQL database server (metapackage depending on the latest version)
i A mysql-server-5.1                                                                - MySQL database server binaries and system database setup
i A mysql-server-core-5.1                                                           - MySQL database server binaries
Run Code Online (Sandbox Code Playgroud)

Del*_*tik -1

我不知道这些子进程到底是什么,但我相信它们没有什么可担心的

您的htop读数显示/usr/sbin/mysqld总共使用了 136 MB RAM(来自VIRT现场)。子进程没有使用更多明显的 RAM。136MB看似很多,但MySQL对内存的要求自然很高

如果您认为CPU 使用率是一个问题,那么其实不必担心。该TIME+字段显示任何进程的使用很少mysqld

我曾经也有一个 512 MB RAM 的 VPS。正是我对软件的错误选择导致我耗尽了 RAM——我尝试使用Virtualmin运行多个虚拟服务器。512 MB 并不算多,而且像OpenVZ这样的虚拟化解决方案不允许您将任何内容交换到磁盘,因此请注意其他可能增加 RAM 使用量的因素。