商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > Linux怎么查看进程占用的虚拟内存 Linux下VSZ与RSS区别详解

Linux怎么查看进程占用的虚拟内存 Linux下VSZ与RSS区别详解

  发布于2026-05-21 阅读(0)

扫一扫,手机访问

VSZ是进程申请的虚拟内存总量(含未映射部分),RSS是其当前驻留物理内存的实际大小;VSZ≠真实内存占用,RSS才反映实际RAM消耗且为OOM Killer判定依据。

Linux怎么查看进程占用的虚拟内存 Linux下VSZ与RSS区别详解

排查服务器内存问题时,很多人习惯性地打开终端,敲下 ps aux,然后盯着那列数字最大的进程下结论。但这里有个常见的认知陷阱:VSZRSS 这两个指标,含义天差地别。如果直接拿 VSZ 的大小来判断哪个进程“吃内存”,很可能会闹出误会。

ps aux 输出中 VSZ 和 RSS 到底代表什么

简单来说,VSZ(Virtual Memory Size)代表进程申请的“虚拟地盘”总量,单位是KB。这块地盘画得很大,但里面不一定都住了“人”。它包括了已经通过 malloc 申请但尚未写入数据的堆内存、通过 mmap 映射的文件或共享库、甚至是为未来预留但完全没被访问过的地址区间。这些都不消耗实际的物理内存,仅仅是进程在地址空间里“画了个圈”。

RSS(Resident Set Size)才是当前真正住在物理内存(RAM)里的“居民”。比如已经写入数据的堆页、正在执行的代码页、栈上的活跃数据等。只有这部分才会挤占宝贵的物理内存资源。

一个典型的误解是认为 VSZ 数值大就等于内存压力大。其实不然。举个例子,一个刚启动的Ja va进程,VSZ 可能轻松超过2GB,但它的 RSS 也许只有100MB左右。再比如一个C程序,只进行大量 malloc 分配而不进行实际写入(memset),它的 VSZ 可以飙到500MB,但 RSS 可能只有寥寥几MB。

怎么快速定位真正吃物理内存的进程

最直接有效的方法,就是让 ps 命令按 RSS 降序排列,一眼找出“大户”:

ps aux --sort -rss | head -n 10

使用这个命令时,有几点需要注意:

  • --sort -rss 里的负号“-”代表降序,如果漏了,结果就会变成升序排列,容易看错。
  • ps 默认显示的 RSS 单位是KB,单纯看数字大小可能不够直观。更好的方法是结合系统总内存来看比例,这时 %MEM 列(内存使用百分比)往往更有参考价值。
  • 需要结合业务逻辑判断。有些进程 RSS 高是合理的,比如数据库利用内存做缓存、视频转码进程需要大量内存处理帧数据。不能一概而论地认为高 RSS 就是异常。

为什么 RSS 比 VSZ 更值得监控

根本原因在于,当系统物理内存不足时,内核的“清道夫”——OOM Killer——出手的依据正是 RSS,而非 VSZ。系统真正危险的时刻,是当所有进程的 RSS 总和接近 /proc/meminfoMemTotal 值的时候。而 VSZ 的总和超过物理内存数倍是Linux虚拟内存机制的常态,这本身并不构成威胁。

另外还有一个细节:RSS 包含了共享库占用的物理页。这意味着,当多个进程都使用同一个glibc库时,这部分共享内存会被重复计入每个进程的 RSS 中,导致统计的总 RSS 大于实际物理占用。如果想更精确地评估单个进程独占的内存,应该关注 USS(Unique Set Size)。可以使用 smem 工具来查看:

smem -p -c "pid uss rss pss cmdline" | head -n 10

容易被忽略的细节:RSS 并不等于“该进程专属的物理内存”

RSS 是“驻留集”,但它不区分内存页是独占还是共享。举个例子,两个独立的Python进程都导入了numpy库,那么底层共享的NumPy .so库文件所占用的物理内存页,会被同时算进这两个进程的 RSS 里。这就导致了:

  • ps aux 查看单个进程时,其 RSS 值比它实际独占的内存要大,这是正常现象。
  • free 命令查看系统整体内存情况时,只有当 used 内存接近 MemTotal 时,才说明物理内存真的紧张了。
  • 要判断一个进程是否存在内存泄漏或异常增长,更可靠的方法是持续观察其 RSS 是否随时间呈线性增长趋势,而不是依赖某一次的快照值。

真正考验判断力的,是那些 RSS 缓慢上升、偶尔又下降的进程。这可能是内存泄漏的迹象,也可能是应用程序自身合理的缓存策略在运作。遇到这种情况,就不能只相信 ps 的一行数字了,需要借助更细致的工具,比如查看 /proc//statm 文件,或者使用 pmap -x 命令来分析进程具体的内存段分布,从而做出准确诊断。

本文转载于:https://www.php.cn/faq/2445209.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注