linux命令--pamp

 

命令:pmap

参数:

Usage: pmap [-x | -d] [-q] [-A low,high] pid...
-x show details //已扩展格式显示进程内存信息
-d show offset and device number//已设备格式显示内存信息
-q quiet; less header/footer info//不显示头部、尾部字段;即不显示头行和尾部汇总行
-V show the version number//显示软件版本
-A limit results to the given range // 显示的记录范围 类似sql的limit

字段说明:

EXTENDED AND DEVICE FORMAT FIELDS
Address: start address of map //在内存块中的起始地址
Kbytes: size of map in kilobytes //在内存块最大所占的大小,单位为kb
RSS: resident set size in kilobytes //实际占用的的内存大小,单位kb
Dirty: dirty pages (both shared and private) in kilobytes // 所包含的脏页
Mode: permissions on map: read, write, execute, shared, private (copy on write) //内存块权限, 读/写/执行/共享/私有
Mapping: file backing the map, or ’[ anon ]’ for allocated memory, or ’[ stack ]’ for the program stack //占用内存的对象类型:文件、内存、堆栈
Offset: offset into the file //偏移量
Device: device name (major:minor) //设备名称;

mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz
writeable/private  表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小      
shared 表示进程和其他进程共享的内存大小

示例:

 

 

作用:

显示对应进程id的内存分配

 

其他说明:

RSS:当前实时占用的内存大小

脏页:linux系统在内存中分配一部分作为高速缓存,内核会将进程读写频繁的数据放在高速缓存中;高速缓存中的数据以页为单位,当高速缓存中的的数据被修改之后,此时高速缓存与硬盘中的数据不一致,称为脏页,系统会在特定时间后将脏页写入硬盘,保持数据一致性;

 

遗留问题:如何使用pmap来判断你是否有内存泄漏?

 

posted @ 2017-09-15 19:38  carterzhang  阅读(1228)  评论(0编辑  收藏  举报