ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

smaps 使用

2021-05-14 10:32:19  阅读:260  来源: 互联网

标签:kB smaps --- 内存 使用 进程 虚拟内存 页面


 

   这是一般进程的地址空间划分,现在有个问题,如果进程出现使用较多内存,非常明显,在不使用valgrind 工具下 能否看出来大概原因??

 top命令我们已经能看出进程的虚拟空间大小(VIRT)、占用的物理内存(RES)以及和其他进程共享的内存(SHR)。但是仅此而已; 但是想知道 更详细的呢??

/proc/self/maps,基于里面信息能大概判断泄露的内存的属性,是哪个区域在泄漏、对应哪个文件。辅助工具procmem输出更可读的maps信息。

 参考:https://www.cnblogs.com/arnoldlu/p/10272466.html

 参考:proc-smaps

   在smaps文件中,每一条记录表示进程虚拟内存空间中一块连续的区域。其中第一行从左到右依次表示地址范围、权限标识、映射文件偏移、设备号、inode、文件路径

 

--00400000-00531000---该虚拟内存段的开始和结束位置
---r-xp内存段的权限,最后一位p代表私有,s代表共享 
---00000000-该虚拟内存段在对应的映射文件中的偏移量
-fc:02---文件的主设备和次设备号--
-687197---被映射到虚拟内存的文件的索引节点号
--/opt/bin/proxy_test--- 被映射到虚拟内存的文件名称后面带(deleted)的是内存数据,可以被销毁
00400000-00531000 r-xp 00000000 fc:02 687197                             /opt/bin/proxy_test
Size:               1220 kB 是进程使用内存空间,并不一定实际分配了内存(VSS)
Rss:                 928 kB 实际分配的内存(不需要缺页中断就可以使用的)
Pss:                 894 kB 平摊计算后的使用内存(有些内存会和其他进程共享,例如mmap进来的)
Shared_Clean:         68 kB  RSS中其他进程共享的未改写页面
Shared_Dirty:          0 kB RSS中其他进程共享的已改写页面
Private_Clean:       860 kB  RSS中未改写的私有页面页面
Private_Dirty:         0 kB RSS中已改写的私有页面页面
Referenced:          928 kB 标记为访问和使用的内存大小
-----indicates the amount of memory currently marked as referenced or accessed.
Anonymous:             0 kB
AnonHugePages:         0 kB
Swap:                  0 kB
KernelPageSize:        4 kB 内核页大小 
MMUPageSize:           4 kB MMU页大小,基本和Kernel页大小相同
Locked:                0 kB
Anonymous” shows the amount of memory that does not belong to any file. 
Even a mapping associated with a file may contain anonymous pages: when MAP_PRIVATE 
and a page is modified, the file page is replaced by a private anonymous copy

 

参考:https://www.modb.pro/db/47525

 

标签:kB,smaps,---,内存,使用,进程,虚拟内存,页面
来源: https://www.cnblogs.com/codestack/p/14760741.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有