linux中vsz和rss分别是什么意思,有何不同
Admin 2022-08-18 群英技术资讯 720 次浏览
linux中vsz和rss的区别:1、rss是“Resident Set Size”的缩写,表示常驻内存大小,而vsz是“Virtual Memory Size”的缩写,表示虚拟内存大小;2、rss用于表示进程使用了多少内存,并且不包含已经被换出的内存,而vsz包含了进程所能访问的所有内存,包括了被换出的内存。
本教程操作环境:linux7.3系统、Dell G3电脑。
RSS是Resident Set Size(常驻内存大小)的缩写,用于表示进程使用了多少内存(RAM中的物理内存),RSS不包含已经被换出的内存。RSS包含了它所链接的动态库并且被加载到物理内存中的内存。RSS还包含栈内存和堆内存。
VSZ是Virtual Memory Size(虚拟内存大小)的缩写。它包含了进程所能访问的所有内存,包含了被换出的内存,被分配但是还没有被使用的内存,以及动态库中的内存。
示例如下
假设进程A的二进制文件是500K,并且链接了一个2500K的动态库,堆和栈共使用了200K,其中100K在内存中(剩下的被换出或者不再被使用),一共加载了动态库中的1000K内容以及二进制文件中的400K内容至内存中,那么:
RSS: 400K + 1000K + 100K = 1500K VSZ: 500K + 2500K + 200K = 3200K
由于部分内存是共享的,被多个进程使用,所以如果将所有进程的RSS值加起来可能会大于系统的内存总量。
申请过的内存如果程序没有实际使用,则可能不显示在RSS里。比如说一个程序,预先申请了一大批内存,过了一段时间才使用,你会发现RSS会增长而VSZ保持不变。
还有一个概念是PSS,它是proportional set size(proportional是成比例的意思)的缩写。这是一种新的度量方式。它将动态库所使用的内存按比例划分。比如我们前面例子中的动态库如果是被两个进程使用,那么:
PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K
一个进程中的多个线程共享同样的地址空间。所以一个进程中的多个线程的RSS,VSZ,PSS是完全相同的。linux下可以使用ps或者top命令查看这些信息。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux比较常用的命令有哪些你知道吗?这篇文章对新手小白来说非常有用,如果你有需要可以随时来参考下,接下来就看一看小编给大家准备的资料吧!
linux设置开机自启动的方法有什么?想要实现linux开机自启动有两种方法,第一种利用添加自启动命令,第二种是利用添加自启动脚本,那么具体怎样做呢?接下来我们一起来看看。
首先考虑一个问题,路由器是如何进行寻址的。可能有两种方式,一种就像高德地图那样,输入起点和终点后,从起点到终点的几条完整路线就会出来。另一种则和路标类似,它不指明完整的路线,但会告诉你不同路口下一个目的地在哪里。
在linux中,挂起指的是将当前处于运行状态的数据保存在内存中,让进程等待某个事件的到来再继续执行,相当于使计算机睡眠;可以利用rtcwake命令设置linux系统挂起,语法为“rtcwake -m mem -s 时间”。
在Linux系统中调试分辩率的时候,怎样进行调整呢。想要清楚这方面的的操作内容,可以跟随小编来了解了解。希望这篇文章能帮助到朋友们。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008