ulimit 是一个用于控制 shell 运行时资源限制的命令
-
打开终端。
-
以 root 用户身份登录,或者使用 sudo 命令。
-
查看当前的 ulimit 设置,可以使用以下命令:
ulimit -a
-
根据服务器的性能和需求,调整 ulimit 设置。以下是一些常见的 ulimit 设置:
-
nofile:控制每个进程可以打开的最大文件描述符数量。对于 Web 服务器来说,增加此值可以提高并发连接数。例如,将其设置为 65535:
ulimit -n 65535
-
nproc:控制每个用户可以创建的最大进程数。增加此值可以提高服务器同时运行的进程数量。例如,将其设置为 4096:
ulimit -u 4096
-
virtual memory:控制每个进程可以使用的最大虚拟内存。增加此值可以防止内存不足的问题。例如,将其设置为无限制:
ulimit -v unlimited
-
open files:控制每个进程可以同时打开的最大文件数量。增加此值可以提高并发连接数。例如,将其设置为 65535:
ulimit -S -n 65535
-
-
为了使这些更改在系统重启后生效,需要将它们添加到 /etc/security/limits.conf 文件中。使用文本编辑器打开文件,例如:
sudo nano /etc/security/limits.conf
-
在文件末尾添加以下行(根据需要修改值):
* soft nofile 65535 * hard nofile 65535 * soft nproc 4096 * hard nproc 4096 * soft memlock unlimited * hard memlock unlimited
这将为所有用户设置上述 ulimit 值。如果只想为特定用户设置这些值,请将 * 替换为用户名。
-
保存并关闭文件。
-
重新启动服务器以使更改生效。
请注意,调整 ulimit 设置可能会影响系统性能和稳定性。在进行更改之前,请确保充分了解每个设置的作用,并根据实际需求进行调整。在生产环境中应用更改之前,建议先在测试环境中进行验证。