linux进程VSZ(Virtual Memory Size 虚拟内存)RSS(Resident Set Size 驻留集大小,实际占用的物理内存)PSS、USS、ANON、RESVIRTDirty
文章目录
- Linux
- 工具
- ps aux
- top
- pmap -[x/X/XX] {$PID}
- smem
- Windows
我们都知道进程运行时,会有一个栈空间(stack)和一个堆空间(heap), 栈空间用于函数调用和局部变量,堆空间是C语言的 malloc 来分配的全局指针。这些都是进程的私有数据,除了这些,还有映射进来的动态库,进程间的共享内存等共享空间。另外,操作系统还支持预留虚拟地址空间的功能(延迟分配),也就是在读写该内存的时候,操作系统才进行物理内存的分配,因此进程占用的空间情况还是比较复杂的。下面简单地说明一下。
Linux
VSZ:Virtual Memory Size(虚拟内存大小)。进程占用的全部地址空间,共享库,预分配内存,交换分区等都包含在里面。因此,它远远大于实际的占用的内存空间。
RSS:Resident Set Size(驻留集大小), 实际占用的物理内存,它包含共享库,但不包含在交换分区的空间。随着程序的运行,RSS也会跟着增长,VSZ将是它的上限。
PSS:Proportional Set Size, 也是实际分配的物理内存,与RSS的区别是,它以平分的方式来计算共享库的大小(共享库 / 进程个数), RSS会把共享库的大小全部计算进来。
USS:Unique Set Size, 进程的私有内存(独自使用的库,堆等空间),不包含共享的内存空间。
ANON: Anonymous memory,匿名内存 —— 没有文件关联的内存页面。Linux会自动映射文件到内存,读取的文件后,会自动缓存到内存。如果,应用程序只是使用mmap(MAP_ANONYMOUS) 分配一些内存页面没有文件关联,就称为“匿名内存”。
Dirty: dirty pages , 脏页大小 —— 还没有写回到硬盘的缓存页面。
VIRT: 同VSZ。
RES: 同RSS。
假如进程A(2k),只依赖动态库B(1000k) ;A 分配 128k的匿名空间,200k的堆栈和堆的空间——实际使用100k。其中动态库B被 2个进程共享,实际加载200k,那么 ——
VSZ = 2k + 1000k + 128k + 200k = 1230k
RSS = 2k + 200k + 128k + 100k = 430k
PSS = 2k + 200k / 2 + 128k + 100k = 330k
USS = 2k + 128k + 100k = 230k
ANON = 128k
工具
进程的内存原始数据的主要来源于 proc 目录下的2个文件,可以 直接cat 查看。
/proc/{$PID}/smaps
/proc/{$PID}/maps
maps 是以地址空间段来输出内容,而 smaps 则以文件,堆,堆栈来组织内容。
ps aux
单独查看某个进程
top
pmap -[x/X/XX] {$PID}
x 越大,越多,信息越详细。
smem
Windows
略
linux进程vsz,Linux 内存管理中的 RSS 和 VSZ 是什么意思?
linux进程VSZ(Virtual Memory Size 虚拟内存)RSS(Resident Set Size 驻留集大小,实际占用的物理内存)PSS、USS、ANON、RESVIRTDirty相关推荐
- linux进程VSZ(虚拟内存)
VSZ:Virtual Memory Size linux进程vsz,Linux 内存管理中的 RSS 和 VSZ 是什么意思?
- Virtual Memory(虚拟内存)
转载请注明出处:http://blog.csdn.net/c602273091/article/details/53529384 Why VM VM Translation Some tips 18- ...
- java jvm容器_在Docker容器中运行的JVM的驻留集大小(RSS)和Java总承诺内存(NMT)之间的差异...
Mikhail Krestjaninoff中的" Analyzing java memory usage in a Docker container"有一些线索: Resident ...
- linux ps vsz malloc,认真分析下进程的内存,说说VSZ、RSS、PSS
进程占用的内存可以有以下这些类型:自身的代码 共享库的代码 运行过程分配的堆和栈 通过mmap映射的磁盘文件内容 1. 虚拟内存与物理内存 这里要区分两个概念,虚拟内存和物理内存.物理内存对于进程来说 ...
- linux rss 内存分析,Linux进程内存分析pmap命令
名称: pmap - report memory map of a process(查看进程的内存映像信息) 用法 pmap [ -x | -d ] [ -q ] pids... pmap -V 选项 ...
- linux 进程的vss rss uss,内存VSS,RSS,PSS,USS解读
在Linux里面,一个进程占用的内存有不同种说法,有四种形式: VSS(Virtual) RSS(Resident) PSS(Proportional) USS(Unique) VSS是单个进程全部可 ...
- Linux进程管理之ps的使用
主题Linux进程管理之ps工具的使用 一ps工具的介绍 ps: process state 进程状态 ps - report a snapshot of the current processes ...
- linux进程属主6,20150917 Linux进程查看与管理以及作业管理
第一.基础知识 MBR引导--内核--内核程序-->协调其它程序 一般内核运行在硬件之上,各应用也在硬件之前 1)OS的基本功能:文件系统.网络功能.进程管理.内存管理.驱动程序.安全功能 以上 ...
- linux有许多sed进程,Linux进程与性能监控
系统性能监控相关命令 1.vmstat命令 Report virtual memory statistics,报告虚拟内存的统计数据. 常用选项:# #:vmstat后面直接给出数字第一个数字表示每隔 ...
最新文章
- 理解hasOwnProperty()的作用
- cometd_CometD:Java Web应用程序的Facebook类似聊天
- 大数据如何应用在生活中
- Guava LoadingCache用法
- IllustratorCS6-桌面排版与插画绘制-01-使用散点画笔绘制璀璨星云
- 【Python框架】Scrapy简单入门及实例讲解
- jQuery笔记——工具函数——jQuery标志
- 机器学习进阶 day4
- ZYNQ PS GPIO MIO 基础知识
- win7计算机睡眠后无法唤醒,win7系统待机后打不开怎么办|win7待机无法唤醒的解决方法...
- threejs 形状几何体_使用Playcanvas.js实现的3D几何体/形状
- 拼多多关键词的排名是怎么查?拼多多排名规则
- 程序员:怎样才能学好英语?
- ARM:植物微生物组的生态学与进化
- opencv中礼帽和黑帽_一流的礼帽
- 尾插法建立单链表(详细版)
- windows系统重装(安装)第三篇——利用PE系统下的WinNTSetup工具重装系统
- 2011.10.23朗讯笔试题
- 电视不支持AirPlay镜像怎么办?苹果iPhone手机投屏三种方法
- Linux磁盘空间管理技术用,Linux下使用quota命令管理磁盘空间的实例教程