linux中vsz和rss有哪些区别

96次阅读
没有评论

共计 1147 个字符,预计需要花费 3 分钟才能阅读完成。

这篇文章主要介绍“linux 中 vsz 和 rss 有哪些区别”的相关知识,丸趣 TV 小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux 中 vsz 和 rss 有哪些区别”文章能帮助大家解决问题。

linux 中 vsz 和 rss 的区别:1、rss 是“Resident Set Size”的缩写,表示常驻内存大小,而 vsz 是“Virtual Memory Size”的缩写,表示虚拟内存大小;2、rss 用于表示进程使用了多少内存,并且不包含已经被换出的内存,而 vsz 包含了进程所能访问的所有内存,包括了被换出的内存。

本教程操作环境:linux7.3 系统、Dell G3 电脑。

linux 中 vsz 和 rss 有什么区别

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 命令查看这些信息。

关于“linux 中 vsz 和 rss 有哪些区别”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注丸趣 TV 行业资讯频道,丸趣 TV 小编每天都会为大家更新不同的知识点。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-29发表,共计1147字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)