在 CentOS 系统中,ulimit 设置可以通过以下几种方法进行修改:
ulimit -n 4096 # 例如,将文件描述符限制设置为 4096
ulimit -u 1024 # 例如,将用户进程数限制设置为 1024
/etc/security/limits.conf打开终端。
编辑 /etc/security/limits.conf 文件:
sudo vi /etc/security/limits.conf
添加或修改以下行:
* soft nofile 4096
* hard nofile 4096
* soft nproc 1024
* hard nproc 1024
这里的 * 表示所有用户,你可以根据需要修改为特定用户或用户组。
保存并退出编辑器。
/etc/pam.d/common-session 和 /etc/pam.d/common-session-noninteractive打开终端。
编辑 /etc/pam.d/common-session 文件:
sudo vi /etc/pam.d/common-session
添加以下行:
session required pam_limits.so
编辑 /etc/pam.d/common-session-noninteractive 文件:
sudo vi /etc/pam.d/common-session-noninteractive
添加以下行:
session required pam_limits.so
保存并退出编辑器。
/etc/systemd/system.conf 和 /etc/systemd/user.conf如果你使用的是 systemd,可以修改这些文件来设置 ulimit。
打开终端。
编辑 /etc/systemd/system.conf 文件:
sudo vi /etc/systemd/system.conf
添加或修改以下行:
DefaultLimitNOFILE=4096
编辑 /etc/systemd/user.conf 文件:
sudo vi /etc/systemd/user.conf
添加或修改以下行:
DefaultLimitNOFILE=4096
重新加载 systemd 配置:
sudo systemctl daemon-reload
重启 systemd 用户服务:
sudo systemctl restart systemd-logind
sysctl 修改内核参数某些 ulimit 设置可以通过 sysctl 命令进行修改,但这通常用于系统级的内核参数,而不是用户级的 ulimit 设置。
fs.file-max 设置:sysctl fs.file-max
fs.file-max 设置:sudo sysctl -w fs.file-max=100000
/etc/sysctl.conf 文件,添加以下行:fs.file-max=100000
sudo sysctl -p
通过以上方法,你可以根据需要修改 CentOS 系统中的 ulimit 设置。