Linux怎么查看具体的系统资源限制

幻夢星雲

幻夢星雲

2026-08-04

412人浏览

原创

最准方式是读/proc/[pid]/limits,如cat /proc/1234/limits | grep "max open files",第二列为软限制(进程实际可用上限),第三列为硬限制(仅root可调高),该值反映内核为该进程维护的真实快照,不受shell或limits.conf影响。

linux怎么查看具体的系统资源限制

直接看当前 shell 的软限制用 ulimit -a

这是最常用、最快捷的方式,ulimit -a 输出的是你当前终端会话里所有资源的**软限制值**,也就是进程实际能用的上限。它不区分软硬,只告诉你此刻生效的值。

常见陷阱:输出里 open files (-n) 1024 表示每个进程最多打开 1024 个文件描述符;max user processes (-u) 4096 是该用户能启动的总进程数。但注意,这些只是 shell 层面的设置,和 nginx、redis 这类 systemd 启动的服务无关——它们可能完全没继承这个值。

  • ulimit -n 单独查打开文件数软限制
  • ulimit -u 查最大进程数软限制
  • ulimit -s 查栈大小(单位是 KB,不是字节)
  • ulimit -c 查 core 文件大小(单位是 512 字节块,ulimit -c 0 才是禁用)

确认某个运行中进程的真实限制用 /proc/$pid/limits

这才是最准的依据。cat /proc/1234/limits 显示的是内核为 PID 1234 进程维护的实时快照,包括软硬限制、单位、是否 unlimited,完全不受你当前 shell 影响。

关键点:输出里 Max open files 那一行的第二列(Soft Limit)才是该进程真正能用的值。如果你在日志里看到 Too many open files,必须查这个,而不是 ulimit -n

  • 普通用户只能读自己进程的 /proc/$pid/limits,其他用户会报 Permission denied
  • systemd 服务的限制可能被 LimitNOFILE= 覆盖,此时即使改了 ulimit 也没用
  • 输出中 unlimited 不等于没限制,可能是硬限制极高,或被 cgroup/systemd 拦截了

查系统级全局上限用 /proc/sys/fs/file-max

ulimit/proc/$pid/limits 都是进程级或用户级的,而整个系统的文件描述符总量由内核参数控制,查 cat /proc/sys/fs/file-max 就行。

PyCharm 2026.2.0.1 Linux版
PyCharm 2026.2.0.1 Linux版

PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。

下载

这个值决定了全系统最多能分配多少文件句柄,和单个进程无关。如果大量进程都卡在 open files 限制,但每个进程的 soft limit 已调高,就得看这个值够不够——比如默认 8192 在高并发服务下往往不够。

  • cat /proc/sys/fs/file-nr 可看当前已分配/未使用/最大可用的文件句柄数
  • 修改它需要 root 权限:echo 65536 > /proc/sys/fs/file-max(临时),或写入 /etc/sysctl.conf
  • 这个参数和 ulimit -n 是两层机制,一个管全局,一个管单进程

验证持久化配置是否生效得看 /etc/security/limits.conf 和登录会话

/etc/security/limits.conf 里的设置只对**PAM 登录会话**生效,比如 ssh 登录、图形界面登录。它不会影响 systemd 直接启动的服务、cron 任务、或已运行的后台进程。

常见错误:改完 limits.conf 就立刻去跑 ulimit -n,发现没变——因为你没新开一个登录 shell。必须重新登录,或者用 su - $USER 切换到新会话。

  • 格式要严格:username soft nofile 65536,中间不能多空格,soft/hard 不能写错
  • 通配符 *@group 也受 PAM 加载顺序影响,/etc/security/limits.d/*.conf 会覆盖主文件
  • systemd 服务绕过 limits.conf,得在 service unit 文件里显式写 LimitNOFILE=65536

真正容易被忽略的是:同一个进程的限制可能来自多个源头叠加——shell 继承自登录会话,登录会话读 limits.conf,而 systemd 服务又无视 limits.conf 改走自己的 unit 配置。查问题时,必须先锁定目标进程,再一层层往回追溯它的启动路径和限制来源。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

2646

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

1623

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

1269

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

2588

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

2349

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

1613

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

1205

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

1376

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

208

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 125人学习