在 CentOS 系统中,ulimit 命令用于设置或查看用户进程的资源限制。每个资源限制都有一个软限制(soft limit)和一个硬限制(hard limit)。软限制是用户可以自行增加的限制,而硬限制是系统管理员设置的最大值,用户无法自行超过这个值。
要调整硬限制和软限制,可以使用 ulimit 命令或者编辑 /etc/security/limits.conf 文件。
要临时调整当前 shell 会话的资源限制,可以使用 ulimit 命令。例如,要增加文件描述符的最大数量,可以这样做:
ulimit -n 4096
这里的 -n 表示文件描述符的数量,4096 是新的软限制。如果要同时设置软限制和硬限制,可以使用 -H 和 -S 选项:
ulimit -Hn 8192 # 设置硬限制
ulimit -Sn 4096 # 设置软限制
请注意,使用 ulimit 命令设置的限制只对当前的 shell 会话有效。一旦关闭 shell 或者重新登录,这些设置就会失效。
要永久调整用户的资源限制,需要编辑 /etc/security/limits.conf 文件。使用文本编辑器打开该文件:
sudo vi /etc/security/limits.conf
在文件的末尾添加以下行来设置用户的资源限制:
username soft nofile 4096
username hard nofile 8192
将 username 替换为实际的用户名,nofile 表示文件描述符的数量,4096 是软限制,8192 是硬限制。如果要为所有用户设置限制,可以使用 * 代替用户名。
保存并关闭文件后,新的限制将在用户下次登录时生效。
ulimit 或 /etc/security/limits.conf,也可能无法超过内核参数设置的最大值。例如,文件描述符的总数可能受到内核参数 fs.file-max 的限制。通过上述方法,你可以根据需要调整 CentOS 系统中的资源限制。