首页/系统/Linux 运维命令速查/systemd 资源限制(LimitNOFILE 等)
systemd 与服务42 条

systemd 资源限制(LimitNOFILE 等)

服务级资源限制都在单元里声明:LimitNOFILE、LimitNPROC、MemoryMax、CPUQuota;systemd 服务不吃 limits.conf,别配错地方。

Linux 运维命令速查系统更新于 2026-10-12
用途限制/放开服务的资源使用
语法[Service] Limit* / Memory* / CPU* 指令
所属systemd

常用限制示例

常用限制示例
[Service]
LimitNOFILE=65535
LimitNPROC=4096
MemoryMax=2G
CPUQuota=200%
TasksMax=512

验证生效

验证生效
systemctl show myapp -p LimitNOFILE,MemoryMax,CPUQuotaPerSecUSec,TasksMax
cat /proc/$(systemctl show -p MainPID --value myapp)/limits | grep -i files
cgroup v2 下 MemoryMax/CPUQuota 由内核强制;被 OOM-kill 的容器/服务先核对这里的内存上限。

易错点

  • 把 nofile 调大只改 systemd 层:应用自身限额(JVM/数据库配置)还要同步调整
  • MemoryMax 调太小会周期性 OOM-kill,观察 cgroup memory.events 的 oom 计数

数据来源与参考

  • man 5 systemd.resource-control
  • man 5 systemd.exec(Limit*)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌