温馨提示×

怎样查看debian ulimit限制

小樊
46
2026-09-19 03:10:12
栏目: 智能运维

在 Debian 系统中,查看 ulimit 限制的方法主要有以下几种:


一、查看当前 shell 的 ulimit 限制

最直接的方法是在终端执行:

ulimit -a

这会列出当前用户、当前 shell 的所有资源限制,例如:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 31235
virtual memory          (kbytes, -v) unlimited

查看单项限制

例如查看打开文件数限制:

ulimit -n

查看最大进程数:

ulimit -u

二、查看某个进程的 ulimit 限制

方法 1:通过 /proc

假设进程 PID 为 1234:

cat /proc/1234/limits

输出示例:

Limit                     Soft Limit   Hard Limit   Units
Max open files            1024         4096         files
Max processes            31235        31235        processes

方法 2:使用 prlimit

prlimit --pid 1234

三、查看系统级限制(非 per-user)

1. 最大文件描述符数(系统级)

cat /proc/sys/fs/file-max

查看当前已使用:

cat /proc/sys/fs/file-nr

2. 用户登录限制(PAM)

查看:

cat /etc/security/limits.conf

以及:

ls /etc/security/limits.d/

四、查看 systemd 服务的限制

如果是 systemd 管理的服务:

systemctl show <服务名> | grep Limit

例如:

systemctl show nginx | grep LimitNOFILE

五、区别说明(很重要)

  • ulimit:针对 当前 shell / 用户
  • limits.conf:用户登录时生效(依赖 PAM)
  • systemd:服务有独立限制,不受 ulimit 影响
  • file-max:整个系统的上限

如果你能说明是 普通用户、服务、还是 Docker 容器 的场景,我可以给你更精确的查看和修改方法。

0