转自:https://zhuanlan.zhihu.com/p/470315089
1.介绍
通过以下命令:cat /proc/pid/status
即可查看所占用内存情况,C++中通过getpid()函数即可打印进程的pid,类型为pid_t,
- 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。
标签:占用,内存,Linux,进程,共享,RSS,Size From: https://www.cnblogs.com/BlueBlueSea/p/17054061.html