在 CentOS 系统中,ulimit 是一个用于控制 shell 进程资源限制的命令。要提高 CentOS 的 ulimit 以增加并发能力,可以按照以下步骤操作:
临时调整 ulimit
在当前 shell 会话中,可以使用 ulimit
命令来临时调整资源限制。例如,要增加最大文件描述符数量,可以执行:
ulimit -n 65535
要使这个更改永久生效,需要编辑 /etc/security/limits.conf
文件。
永久调整 ulimit
编辑 /etc/security/limits.conf
文件,添加或修改以下行:
* soft nofile 65535
* hard nofile 65535
这将为所有用户设置软限制和硬限制。如果只想为特定用户设置限制,可以将 *
替换为用户名。
保存并关闭文件后,重新登录以使更改生效。
调整内核参数
编辑 /etc/sysctl.conf
文件,添加或修改以下行:
fs.file-max = 100000
这将增加系统可以打开的最大文件描述符数量。根据需要调整该值。
保存并关闭文件后,运行以下命令使更改生效:
sysctl -p
调整 systemd 服务限制
如果你的应用程序是通过 systemd 管理的,还需要调整 systemd 服务的资源限制。编辑服务的 .service
文件,例如 /etc/systemd/system/myapp.service
,添加以下行:
[Service]
LimitNOFILE=65535
保存并关闭文件后,重新加载 systemd 配置并重启服务:
systemctl daemon-reload
systemctl restart myapp
完成以上步骤后,CentOS 的 ulimit 应该已经提高,从而提高了并发能力。请注意,根据实际需求和系统资源情况调整这些值。在生产环境中进行调整时,请务必谨慎操作。