在CentOS系统中,ulimit命令用于设置或查看用户进程的资源限制。以下是详细的ulimit设置指南:
ulimit临时设置ulimit只对当前shell会话有效。打开终端,使用以下命令格式:
ulimit -a
ulimit -f <size_in_kb>
ulimit -u <number_of_processes>
ulimit -n <number_of_open_files>
ulimit -t <seconds>
ulimit -v <size_in_kb>
ulimit -s <size_in_kb>
例如,将最大打开文件数设置为4096:
ulimit -n 4096
ulimit要永久设置ulimit,需要编辑系统配置文件。
编辑/etc/security/limits.conf文件:
sudo vi /etc/security/limits.conf
在文件末尾添加以下行,以设置特定用户或用户组的资源限制:
username soft limit_type limit_value
username hard limit_type limit_value
例如,将用户“john”的最大文件描述符数量设置为4096:
john soft nofile 4096
john hard nofile 8192
保存并关闭文件。
编辑/etc/pam.d/common-session和/etc/pam.d/common-session-noninteractive文件(可选):
sudo vi /etc/pam.d/common-session
添加以下行以确保会话启动时加载limits.conf:
session required pam_limits.so
保存并退出编辑器。
如果使用systemd,还可以通过修改systemd配置文件来设置ulimit:
/etc/systemd/system.conf文件:sudo vi /etc/systemd/system.conf
添加或修改以下行:DefaultLimitNOFILE=4096
DefaultLimitNPROC=1024
/etc/systemd/user.conf文件:sudo vi /etc/systemd/user.conf
systemd配置:sudo systemctl daemon-reload
重新登录用户以使更改生效,然后使用以下命令验证设置:
ulimit -a
检查/etc/security/limits.conf文件,确保配置文件中的规则正确无误。
通过以上步骤,您可以在CentOS系统中成功设置和验证ulimit资源限制。