在 CentOS 系统中,ulimit 是一个用于控制用户资源限制的命令。优化 ulimit 可以提高服务器的性能,特别是在高并发场景下。以下是一些建议:
-
查看当前资源限制:
使用ulimit -a命令查看当前用户的资源限制。 -
调整文件描述符限制:
在高并发场景下,文件描述符的限制尤为重要。可以通过以下命令查看和设置文件描述符限制:ulimit -n 65535要使更改永久生效,需要编辑
/etc/security/limits.conf文件,添加以下内容:* soft nofile 65535 * hard nofile 65535 -
调整进程数限制:
通过以下命令查看和设置进程数限制:ulimit -u 4096要使更改永久生效,需要编辑
/etc/security/limits.conf文件,添加以下内容:* soft nproc 4096 * hard nproc 4096 -
调整内存限制:
通过以下命令查看和设置内存限制:ulimit -m unlimited ulimit -v unlimited要使更改永久生效,需要编辑
/etc/security/limits.conf文件,添加以下内容:* soft memlock unlimited * hard memlock unlimited -
调整栈大小限制:
通过以下命令查看和设置栈大小限制:ulimit -s 8192要使更改永久生效,需要编辑
/etc/security/limits.conf文件,添加以下内容:* soft stack 8192 * hard stack 8192 -
调整核心转储文件大小限制:
通过以下命令查看和设置核心转储文件大小限制:ulimit -c unlimited要使更改永久生效,需要编辑
/etc/security/limits.conf文件,添加以下内容:* soft core unlimited * hard core unlimited -
调整 CPU 时间限制:
通过以下命令查看和设置 CPU 时间限制:ulimit -t unlimited要使更改永久生效,需要编辑
/etc/security/limits.conf文件,添加以下内容:* soft cpu unlimited * hard cpu unlimited -
调整最大用户进程数:
通过以下命令查看和设置最大用户进程数:ulimit -u 4096要使更改永久生效,需要编辑
/etc/sysctl.conf文件,添加以下内容:fs.nr_open = 1048576然后运行
sysctl -p命令使更改生效。
请注意,根据服务器的实际硬件资源和应用程序需求进行调整。在进行任何更改之前,请确保备份相关配置文件,并在测试环境中验证更改的影响。