在 CentOS 系统中,ulimit 命令用于设置或查看用户进程的资源限制。这些设置在当前 shell 会话中是有效的,但当您关闭终端或重新启动系统时,这些设置将不会保留。
如果您希望在重启后仍然保留 ulimit 设置,可以将这些设置添加到系统的配置文件中。以下是一些常见的方法:
/etc/security/limits.conf打开 /etc/security/limits.conf 文件:
sudo vi /etc/security/limits.conf
在文件末尾添加以下行来设置资源限制(例如,设置最大文件描述符数为 65535):
* soft nofile 65535
* hard nofile 65535
这里的 * 表示所有用户,您也可以指定特定的用户名。
保存并退出编辑器。
重新登录以使更改生效。
/etc/pam.d/common-session打开 /etc/pam.d/common-session 文件:
sudo vi /etc/pam.d/common-session
在文件末尾添加以下行:
session required pam_limits.so
保存并退出编辑器。
/etc/pam.d/common-session-noninteractive打开 /etc/pam.d/common-session-noninteractive 文件:
sudo vi /etc/pam.d/common-session-noninteractive
在文件末尾添加以下行:
session required pam_limits.so
保存并退出编辑器。
sysctl 设置内核参数某些 ulimit 设置可以通过 sysctl 命令进行配置。例如,设置最大文件描述符数:
打开 /etc/sysctl.conf 文件:
sudo vi /etc/sysctl.conf
添加以下行:
fs.file-max = 100000
保存并退出编辑器。
应用更改:
sudo sysctl -p
通过以上方法之一,您可以在 CentOS 系统中持久化 ulimit 设置,使其在重启后仍然有效。