在 Debian 系统中,ulimit
命令用于设置和显示进程的资源限制。每个用户和进程都有一组资源限制,如最大打开文件数、最大进程数、最大可用内存等。ulimit
命令可以通过设置这些资源限制来控制进程的行为。
查看当前资源限制:
ulimit -a
或
ulimit -aS
显示当前所有资源限制的软限制。
修改资源限制:
ulimit -n 1024
将文件打开数限制改为 1024。
永久修改限制:
编辑 /etc/security/limits.conf
文件或在 /etc/security/limits.d/
目录下的文件中进行设置。
ulimit
设置影响进程的资源使用,包括但不限于以下几种:
通过 systemd 启动的服务:
ulimit
设置受限于服务的 service
文件中的配置。例如:
[Service]
LimitNOFILE=65535
如果没有配置,则使用 systemd 的默认配置。
通过 shell 启动的进程:
ulimit
设置受限于 /etc/security/limits.conf
文件的配置。例如:
* soft nofile 65535
* hard nofile 65535
*
号通配符表示对所有用户生效。
使用 PAM 的应用:
某些应用(如 cron
、sshd
等)会使用 PAM 模块读取 /etc/security/limits.conf
中的设置来覆盖原本的 ulimit
值。
Systemd 版本问题:
某些 Systemd 版本可能会导致 max open file
设置为 infinity
时实际只有 65536。
通过合理设置 ulimit
,可以有效控制系统资源的分配,防止单个进程因资源耗尽而影响整个系统的稳定性。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:Debian ulimit与安全关系