RSS是Resident Set Size(常驻内存大小)的缩写,用于表示进程使用了多少内存(RAM中的物理内存),RSS不包含已经被换出的内存。RSS包含了它所链接的动态库并且被加载到物理内存中的内存。RSS还包含栈内存和堆内存。

VSZ是Virtual Memory Size(虚拟内存大小)的缩写。它包含了进程所能访问的所有内存,包含了被换出的内存,被分配但是还没有被使用的内存,以及动态库中的内存。

假设进程A的二进制文件是500K,并且链接了一个2500K的动态库,堆和栈共使用了200K,其中100K在内存中(剩下的被换出或者不再被使用),一共加载了动态库中的1000K内容以及二进制文件中的400K内容至内存中,那么:1

2RSS: 400K + 1000K + 100K = 1500K

VSZ: 500K + 2500K + 200K = 3200K

由于部分内存是共享的,被多个进程使用,所以如果将所有进程的RSS值加起来可能会大于系统的内存总量。

申请过的内存如果程序没有实际使用,则可能不显示在RSS里。比如说一个程序,预先申请了一大批内存,过了一段时间才使用,你会发现RSS会增长而VSZ保持不变。

还有一个概念是PSS,它是proportional set size(proportional是成比例的意思)的缩写。这是一种新的度量方式。它将动态库所使用的内存按比例划分。比如我们前面例子中的动态库如果是被两个进程使用,那么:1PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K

一个进程中的多个线程共享同样的地址空间。所以一个进程中的多个线程的RSS,VSZ,PSS是完全相同的。linux下可以使用ps或者top命令查看这些信息。

如果想了解更多,可参考下面的链接:

linux 命令rsss,[译] linux内存管理之RSS和VSZ的区别相关推荐

  1. linux内存管理之RSS和VSZ的区别

    [译] linux内存管理之RSS和VSZ的区别 阅读 724 收藏 0 2019-08-25 原文链接: pengrl.com RSS是Resident Set Size(常驻内存大小)的缩写,用于 ...

  2. [译] linux内存管理之RSS和VSZ的区别

    RSS是Resident Set Size(常驻内存大小)的缩写,用于表示进程使用了多少内存(RAM中的物理内存),RSS不包含已经被换出的内存.RSS包含了它所链接的动态库并且被加载到物理内存中的内 ...

  3. Linux图形子系统之GEM内存管理

    Linux图形子系统之GEM内存管理 引言 1 创建与映射 1.1 创建GEM 1.2 映射对象到文件 1.3 映射对象到用户空间 1.4 对象同步 2 内存分配 2.1 数据结构 2.1.1 内存管 ...

  4. Linux任督二脉之内存管理(三) PPT

    五节课的第三节课-进程的内存消耗和泄漏 *进程的VMA. *进程内存消耗的4个概念:vss.rss.pss和uss *page fault的几种可能性,major和minor *应用内存泄漏的界定方法 ...

  5. Linux任督二脉之内存管理(二) PPT

    五节课的第二节课-内存的动态申请和释放 * slab.kmalloc/kfree./proc/slabinfo和slabtop * 用户空间malloc/free与内核之间的关系 * mallopt ...

  6. Linux内核源代码情景分析-内存管理

    用户空间的页面有下面几种: 1.普通的用户空间页面,包括进程的代码段.数据段.堆栈段.以及动态分配的"存储堆". 2.通过系统调用mmap()映射到用户空间的已打开文件的内容. 3 ...

  7. Linux命令进阶-cpu监控内存监控文件IO网络IO性能分析

    Linux命令进阶-cpu监控内存监控文件IO网络IO性能分析 前言 1 linux基础命令 1.1 grep 1.2 ls 1.3 find 1.4 ulimit 1.5 curl 1.6 scp ...

  8. Linux命令篇 linux命令大全简洁明了 linux学习笔记

    Linux命令篇 linux命令大全简洁明了 linux学习笔记 Linux 命令大全 文章目录 Linux 命令大全 一. 常用的基础命令 查看目录: 切换目录: 创建和删除: 拷贝和移动文件: 查 ...

  9. linux 命令run road,linux命令进阶

    Though unconsciously,peple are indeed moving towards their destination.Slow as the progress seen fro ...

最新文章

  1. 使用调用者权限实现Schema导向操作
  2. Python中的高级数据结构详解
  3. 数据结构与算法 / B- Tree 和 B+ Tree
  4. MFC 中屏蔽CDialog类窗体处理ESC和ESCAPE按键
  5. python没有运行_Python没有执行__init__
  6. 【CodeForces - 827A】String Reconstruction(并查集合并区间,思维)
  7. python生成api文档_sphinx生成python文档
  8. gan通过python实现_python通过requests库实现爬虫(二)
  9. java 夏令时 容器 问题,Java夏令时有关问题
  10. MFCC/Filter Bank的提取流程
  11. powerShell中 diff的使用
  12. 联通3G用户破千万 建成全球规模最大WCDMA网络
  13. 5.Chrome开发者工具不完全指南:(三、性能篇)
  14. Hexo博客优化之Next主题美化
  15. 专科低学历想做web前端开发拿10k、15k高薪,我建议你这样做
  16. python获取当前时间、今天零点、23:59:59点、昨天当前时间、明天的当前时间。
  17. sql语句连接查询.
  18. Android自定义底部带有动画的Dialog
  19. idea断点里没有对号问题解决
  20. 百度关于EMP的探索:落地生产可用的微前端架构

热门文章

  1. pythonguitkinter组件_四十八、Python中的GUI布局tkinter
  2. python异常处理结构_python-异常处理
  3. P1803 凌乱的yyy / 线段覆盖
  4. ITNEXT :“这个项目可能会改变我们使用 Kubernetes 的方式”
  5. 全面 Severless 化只需要 7天!
  6. 蚂蚁王益:Go+ 可有效补全 Python 的不足
  7. 物联网的未来:关于物联网的10个预测
  8. 如何使用ZBrush和3DMAX雕刻一个百夫长?
  9. 朱峰谈概念设计(八):电影中的概念设计
  10. 成为“能打”的二次元游戏《明日方舟》做对了什么?