进程内存使用PSS和VSZ的区别
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,进程内存使用PSS和VSZ的区别,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。可以使用 ps aux 命令获取每进程的内存使用,其中
千家信息网最后更新 2025年11月07日进程内存使用PSS和VSZ的区别
进程内存使用PSS和VSZ的区别,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
可以使用 ps aux 命令获取每进程的内存使用,其中VSZ表示虚拟内存使用大小,RSS(resident set size)表示常驻内存的大小,来自于/proc/PID/status文件。
~ # ps aux | headUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.4 0.1 18984 1968 ? Ss 10:58 0:47 /sbin/helloroot 2 0.0 0.0 0 0 ? S 10:58 0:00 [kthreadd]root 3 0.0 0.0 0 0 ? S 10:58 0:10 [ksoftirqd/0]
但RSS并不代表进程的实际内存消耗,因为不同的进程之间会共享内存,所以把所有进程RSS进行累加的方法会重复计算共享内存,得到的结果是偏大的。正确的方式是累加/proc/PID/smaps中的Pss(process's proportional share of this mapping)字段。选取某个vma的统计数据:
01e70000-01ef6000 rw-p 00000000 00:00 0 [heap]Size: 536 kBRss: 408 kBPss: 408 kBShared_Clean: 0 kBShared_Dirty: 0 kBPrivate_Clean: 0 kBPrivate_Dirty: 408 kBReferenced: 408 kBAnonymous: 408 kBAnonHugePages: 0 kBShmemPmdMapped: 0 kBShared_Hugetlb: 0 kBPrivate_Hugetlb: 0 kBSwap: 0 kBSwapPss: 0 kBKernelPageSize: 4 kBMMUPageSize: 4 kBLocked: 0 kBVmFlags: rd wr mr mw me ac sd
每个虚拟内存区域(VMA)是一个连续的虚拟地址范围,并且它们不会重叠。一个vm_area_struct实例完整的描述了一个内存区域,包括起止地址、访问权限标志以及用于指出被映射文件(如果存在)的vm_file字段。其中,size表示这段虚拟空间的大小,Rss表示驻留内存的大小,Pss表示分摊后的内存大小,Referenced表示总共被引用或被访问的内存大小,Anonymous表示没有映射到文件的内存大小,Swap也是匿名内存,表示交换分区内存的大小。各个字段的关系如下:
USS = Private_Clean + Private_DirtyPss = USS + (Shared_Clean + Shared_Dirty)/nRSS = USS + Shared_Clean + Shared_Dirty
以hello进程为例,使用前面介绍的统计内存的数据:
使用ps~ # ps aux | grep /sbin/helloroot 1182 0.7 0.2 474208 5636 ? Sl 11:00 1:38 /sbin/hello
grep -w Pss /proc/1182/smaps | awk 'BEGIN{sum=0} {sum+=$2} END {print "total mem:"sum}'total mem:1752可以看到,RSS与PSS相差非常大。进程的内存统计一定是使用Pss。
关于进程内存使用PSS和VSZ的区别问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
内存
进程
大小
字段
文件
问题
统计
区域
地址
数据
方法
更多
帮助
解答
不同
易行
简单易行
之间
代表
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上市公司 软件开发
盐城师范外文数据库
杭州软件开发团队
服务器主板设计
网络安全好的大学排名
网页制作是属于软件开发吗
小学生开展网络安全教育总结
河北服务器虚拟化解决方案
中山专业软件开发批发价
db数据库中文显示乱码
金仓数据库卡住怎么办
软件开发的基本过程主要
软件开发的可变成本
sql数据库定时发邮箱
奉贤区什么是软件开发不二之选
多级安全数据库什么意思
江西省网络安全宣传
计算机网络技术会过时吗
手机怎样找回网络安全密钥
华为服务器管理口重启服务器
黑龙江dns服务器备用云空间
宣传中心网络技术部
如果泄露了公司的网络安全
行业网络安全宣传培训
江苏网络技术测试题
建立数据库student
哪里学习软件开发
ids ips管理服务器
软件开发的基本过程主要
软件开发有问题如何追责