Linux系统进程内存占用指标VSS与RSS及PSS区别详解

星明吖_3113

星明吖_3113

2026-03-23

487人浏览

原创

vss是虚拟内存总量,不反映真实占用;rss统计驻留物理内存但重复计算共享部分;pss按进程数均摊共享内存,总和等于实际物理占用;uss是进程独占内存,退出即释放,用于泄漏定位。

linux系统进程内存占用指标vss与rss及pss区别详解

看进程占了多少内存,不能只盯着一个数字——VSS、RSS、PSS、USS各自反映不同层面的内存使用情况,混用容易误判。真正要定位内存问题,得知道哪个指标对应什么场景。

VSS:只是“能用多大”,不是“用了多少”

VSS(Virtual Set Size)是进程整个虚拟地址空间大小,包括已分配但尚未实际使用的内存(比如 malloc 后还没写入的堆页)、代码段、共享库映射、mmap 区域等。它不区分是否驻留在物理内存中,甚至可能包含被换出到 swap 的页面。所以 VSS 数值往往远大于实际物理占用,对分析真实内存压力基本没用。

  • 典型表现:一个 Java 进程 VSS 可达 4GB,但 RSS 只有 800MB
  • 命令查看:ps -eo pid,vsz,comm | grep java(VSZ 列即 VSS,单位 KB)
  • 关键点:VSS 高 ≠ 内存紧张;它无法反映系统真实负载

RSS:算出了“在内存里”,但重复计算了共享部分

RSS(Resident Set Size)表示进程当前驻留在物理 RAM 中的内存总量,比 VSS 更贴近实际。但它把所有共享内存(如 libc、JVM 共享库、动态链接的 so 文件)全部计入每个使用它的进程——哪怕这些共享页在物理内存中只存一份。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 举例:两个 nginx worker 进程各加载了同一个 200MB 的共享库,RSS 会分别显示 +200MB,加起来多算了一次
  • 命令查看:top 中 RES 列,或 ps -eo pid,rss,comm
  • 适用场景:快速筛查“谁占物理内存最多”,但不适合做总量评估或跨进程对比

PSS:最接近“真实贡献”的统计方式

PSS(Proportional Set Size)修正了 RSS 的重复计算问题:对每个共享内存页,按使用它的进程数量均摊。如果有 N 个进程共用某块 300MB 的共享库,每个进程的 PSS 只计入 300/N MB。所有进程 PSS 相加,就等于系统当前真实的物理内存占用总量。

  • 仍是上面两个 nginx 进程的例子:PSS 各为 100MB(私有)+ 100MB(共享均摊),总和 400MB = 实际物理占用
  • 命令查看:smem -k -p(需安装 smem),或解析 /proc/[pid]/smaps 中 Pss 行求和
  • 核心价值:判断整机内存是否吃紧、分析多进程服务的整体开销、做容量规划

USS:杀掉这个进程,能立刻回收多少

USS(Unique Set Size)是进程完全独占的物理内存,不含任何共享成分。它代表该进程带来的“净增量”内存消耗。当进程退出时,USS 对应的内存会立即释放回系统,而 PSS 中的共享部分则由其他进程继续持有。

  • 内存泄漏排查首选 USS:如果某个进程 USS 持续缓慢上涨,基本可确认存在泄漏
  • 命令查看:smem -k -p 中 USS 列,或 cat /proc/[pid]/smaps | awk '/Private_Clean|Private_Dirty/{sum += $2} END{print sum " kB"}'
  • 注意:USS 通常最小,但对资源成本评估和故障归因最关键

一句话总结:VSS 是画饼,RSS 是毛估,PSS 是分账后的真实账单,USS 是你关掉它就能拿回来的钱。

相关文章

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

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

下载

相关标签:

linux

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

相关专题

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

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

2023.06.21

3870

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

3333

10

linux find
linux find

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

2023.06.30

2453

5

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

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

2023.07.05

5930

7

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

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

2023.07.06

5562

7

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

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

2023.07.20

3273

8

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

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

2023.07.20

2785

4

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

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

2023.07.25

2999

6

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

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

2023.07.31

277

3

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习