内存的消耗VSS RSS PSS USS首先,我们评估一个进程的内存消耗都是指用户空间的内存,不包括内核空间的内存消耗。这里我们用工具 procrank先来看下Linux进程的内存占用量。

文章插图
- VSS -Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
- RSS -Resident Set Size 实际使用物理内存(包含共享库占用的内存)
- PSS -Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
- USS -Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

文章插图
有了对VSS,RSS,PSS,USS的了解,我们趁热打铁来看下内存在进程中是如何被瓜分的:

文章插图
(此图来源于宋宝华老师)
1044,1045,1054三个进程,每个进程都有一个页表,对应其虚拟地址如何向real memory上去转换 。
process 1044的1,2,3都在虚拟地址空间,所以其VSS=1+2+3 。
process 1044的4,5,6都在real memory上,所以其RSS=4+5+6 。
分析real memory的具体瓜分情况:
4 libc代码段,1044,1045,1054三个进程都使用了libc的代码段,被三个进程分享 。
5 bash shell的代码段,1044,1045都是bash shell,被两个进程分享 。
6 1044独占
所以,上图中4+5+6并不全是1044进程消耗的内存,因为4明显被3个进程指向,5明显被2个进程指向,衍生出了PSS(按比例计算的驻留内存)的概念 。进程1044的PSS为4/3 +5/2 +6 。
最后,进程1044独占且驻留的内存USS为 6 。
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
【部分内容整理于宋宝华老师课程】
推荐阅读
- 如何在 Linux 中删除文本中的回车字符
- linux如何用ftp脚本自动下载文件
- 接吻时长揭露男人性态度
- 从微信状态看出人的心理和性格
- 云南台地茶茶种与生长形态
- 金泰梨|《二十五,二十一》金泰梨顶逆龄刘海披白纱,31岁完美状态如同少女!
- 茶叶形态的沿革从紧压茶到散茶
- 普洱茶拼配的好处 拼配才是常态
- 借你的服务器挖下矿!新型Linux恶意软件“Skidmap”来袭
- 人生追求的一种最佳状态 人生最好是小满
