温馨提示×

debian ulimit怎么查进程

小樊
46
2026-09-28 04:21:41
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)里,ulimit 本身只能查“当前 shell 及其子进程”的限制,不能直接查“某个已存在的进程”。
要查某个具体进程的 ulimit,需要用 /proc 或 prlimit。

下面按常见场景说明。


一、查当前 shell 的 ulimit

ulimit -a

常见参数:

ulimit -n   # 文件描述符
ulimit -u   # 用户进程数
ulimit -s   # 栈大小

⚠️ 这只对当前终端会话有效。


二、查“指定进程”的 ulimit(推荐)

方法 1:prlimit(最简单,Debian 自带)

prlimit -p <PID>

只看某一项,比如 open files:

prlimit -n -p <PID>

示例:

prlimit -p 1234

输出类似:

RESOURCE   DESCRIPTION    SOFT  HARD
...
NOFILE     max open files 1024 4096

方法 2:直接读 /proc(最底层)

cat /proc/<PID>/limits

示例:

cat /proc/1234/limits

输出示例:

Max open files            1024                 4096                 files
Max processes             12345                12345                processes

这是最权威的方式。


三、查某个服务的 ulimit(systemd)

如果是 systemd 服务(如 nginx、mysql):

systemctl show nginx | grep Limit

示例:

systemctl show mysql | grep -i limit

常见字段:

LimitNOFILE=
LimitNPROC=

四、总结速查表

目的 命令
当前 shell ulimit -a
指定进程 prlimit -p PID
指定进程(底层) cat /proc/PID/limits
systemd 服务 systemctl show 服务名

如果你愿意,可以告诉我:

  • 你是查 某个 PID
  • 还是 某个服务(nginx / java / mysql)
  • 还是 想永久修改 ulimit

我可以直接给你对应命令。

0 踩