温馨提示×

debian ulimit支持哪些项

小樊
44
2026-09-16 02:59:44
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)中,ulimit 用于限制 shell 及其启动的进程所占用的系统资源。它实际上是对 POSIX getrlimit/setrlimit 的封装。

下面按 ulimit 选项对应内核资源项 详细说明。


一、常用 ulimit 选项(bash / sh)

查看方式:

ulimit -a

1. 核心与内存类

ulimit 选项 含义 对应资源
-c core 文件大小 (blocks) RLIMIT_CORE
-d 数据段大小 (KB) RLIMIT_DATA
-m 常驻内存(已废弃,通常忽略) RLIMIT_RSS
-v 虚拟内存大小 (KB) RLIMIT_AS
-s 栈大小 (KB) RLIMIT_STACK

2. 文件与 IO 类

ulimit 选项 含义 对应资源
-f 可创建文件大小 (blocks) RLIMIT_FSIZE
-n 打开文件描述符数 RLIMIT_NOFILE
-p 管道大小 (512B) RLIMIT_PIPE

3. 进程与权限类

ulimit 选项 含义 对应资源
-u 用户最大进程数 RLIMIT_NPROC
-l 可锁定的内存 (KB) RLIMIT_MEMLOCK
-e 调度优先级 (nice 上限) RLIMIT_NICE
-r 实时优先级上限 RLIMIT_RTPRIO
-i 挂起信号数 RLIMIT_SIGPENDING
-q POSIX 消息队列大小 (bytes) RLIMIT_MSGQUEUE
-x 最大文件锁数 RLIMIT_LOCKS(部分内核已弃用)

4. CPU 类

ulimit 选项 含义 对应资源
-t CPU 时间 (秒) RLIMIT_CPU

二、特殊说明(Debian 常见)

1. -m 在 Debian 中通常无效

  • 现代内核忽略 RLIMIT_RSS
  • 真正起作用的是 -v

2. systemd 会覆盖 ulimit

在 Debian 10+(使用 systemd):

systemctl show <service> | grep Limit

常见限制项:

  • LimitNOFILE
  • LimitNPROC
  • LimitMEMLOCK
  • LimitCORE

服务进程请以 systemd 配置为准


3. 永久配置位置

  • 用户级:
/etc/security/limits.conf
/etc/security/limits.d/*.conf
  • systemd 服务:
[Service]
LimitNOFILE=65535

三、总结一句话

Debian 的 ulimit 支持:

CPU、内存、文件、进程数、栈、core、锁内存、实时优先级、信号队列等资源限制

如果你有具体场景(如:高并发、数据库、Docker),我可以给你推荐合理的 ulimit 配置。

0