在 CentOS 系统中,你可以使用 ulimit
命令来限制用户或进程可以打开的文件描述符数量。以下是如何设置这些限制的步骤:
查看当前限制:
ulimit -n
临时设置单个用户的文件描述符限制:
ulimit -n <number_of_descriptors>
例如,将限制设置为 4096:
ulimit -n 4096
临时设置所有用户的文件描述符限制:
编辑 /etc/security/limits.conf
文件:
sudo vi /etc/security/limits.conf
添加以下行:
* soft nofile <number_of_descriptors>
* hard nofile <number_of_descriptors>
例如:
* soft nofile 4096
* hard nofile 4096
编辑 /etc/security/limits.conf
文件:
sudo vi /etc/security/limits.conf
添加或修改以下行:
* soft nofile <number_of_descriptors>
* hard nofile <number_of_descriptors>
例如:
* soft nofile 4096
* hard nofile 4096
编辑 /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
文件(适用于 systemd):
sudo vi /etc/systemd/system.conf
添加或修改以下行:
DefaultLimitNOFILE=<number_of_descriptors>
例如:
DefaultLimitNOFILE=4096
重新加载 systemd 配置:
sudo systemctl daemon-reload
重启系统以使所有更改生效:
sudo reboot
验证单个用户的限制:
ulimit -n
验证所有用户的限制:
sudo grep 'nofile' /etc/security/limits.conf
通过以上步骤,你可以成功地在 CentOS 系统中限制文件描述符的数量。