在 CentOS 系统中,ulimit 命令用于设置或查看用户进程的资源限制。对于并发连接数,可以通过调整 ulimit 的 nofile 参数来限制每个进程可以打开的最大文件描述符数量。因为每个网络连接都需要一个文件描述符,所以这个参数也会影响到并发连接数。
要查看当前的 nofile 限制,可以在终端中执行以下命令:
ulimit -n
要临时更改 nofile 限制,可以使用以下命令:
ulimit -n <新的限制值>
例如,要将并发连接数限制为 4096,可以执行:
ulimit -n 4096
请注意,这种方法只会临时更改当前 shell 会话的限制。要永久更改限制,需要修改系统配置文件。
对于 Systemd 服务,可以在服务的 .service 文件中添加以下行来设置 nofile 限制:
[Service]
LimitNOFILE=4096
然后重新加载 Systemd 配置并重启服务:
sudo systemctl daemon-reload
sudo systemctl restart <服务名>
对于非 Systemd 服务,可以在 /etc/security/limits.conf 文件中添加以下行来设置 nofile 限制:
* soft nofile 4096
* hard nofile 4096
这里的 * 表示适用于所有用户。如果只想针对特定用户设置限制,可以将 * 替换为用户名。
最后,重启系统以使更改生效。