温馨提示×

debian ulimit包含哪些项

小樊
42
2026-09-19 03:02:16
栏目: 智能运维

在 Debian(以及其它 Linux 发行版)中,ulimit 用于限制当前 shell 及其子进程可使用的系统资源。它实际上是对 PAM / shell / systemd 等层面资源限制(RLIMIT_*)的封装。

可以通过 ulimit -a 查看当前会话的所有限制项。


一、常用 ulimit 限制项(core / memory / process 等)

执行:

ulimit -a

典型输出包含以下项目(不同架构/内核版本略有差异):

项目 含义 对应选项
core file size core 文件最大大小 -c
data seg size 数据段最大大小 -d
scheduling priority 调度优先级(nice 范围) -e
file size 单个文件最大大小 -f
pending signals 待处理信号数量 -i
max locked memory 可锁定内存大小 -l
max memory size 常驻内存最大大小 -m
open files 打开文件描述符数 -n
pipe size 管道缓冲区大小 -p
POSIX message queues POSIX 消息队列大小 -q
real-time priority 实时调度优先级 -r
stack size 栈大小 -s
cpu time CPU 使用时间 -t
max user processes 用户最大进程数 -u
virtual memory 虚拟内存大小 -v
file locks 文件锁数量 -x

二、ulimit 常用命令示例

查看所有限制

ulimit -a

查看单项

ulimit -n   # 打开文件数
ulimit -u   # 进程数

临时修改(仅当前 shell)

ulimit -n 65535
ulimit -u 4096

⚠️ 修改后只在当前 shell 生效,重启或新登录失效。


三、Debian 中 ulimit 的持久化配置位置

1. /etc/security/limits.conf

最常见方式(PAM 限制):

* soft nofile 65535
* hard nofile 65535
* soft nproc 4096
* hard nproc 4096

2. /etc/security/limits.d/*.conf

Debian 推荐放在这里。

3. systemd 服务

如果是 systemd 服务:

[Service]
LimitNOFILE=65535
LimitNPROC=4096

四、soft limit 与 hard limit 区别

  • soft limit:当前实际限制
  • hard limit:soft 的上限(普通用户不能超)
ulimit -Sn   # soft
ulimit -Hn   # hard

如果你愿意,我可以:

  • 列出 完整 RLIMIT_ 内核级清单*
  • 帮你 调优 Debian 高并发服务器 ulimit
  • 解释 为什么 systemd 下 ulimit 不生效

0