pmap(对于每个进程)
pmap
命令可以查看进程的内存映像信息,其输出内容来自于/proc/<pid>/maps
和/proc/<pid>/smaps
这两个文件,maps
文件包含了每一段内存的大概描述,smaps
里包含了具体每段的详细信息
pmap [options] pid
参数
Options | 功能 |
---|---|
-x, –extended | 显示扩展格式 |
-d, –device | 显示设备格式 |
-q, –quiet | 不显示头尾行 |
-A, –range low,high | 显示给定地址范围的结果,参数以逗号分隔 |
-X | 显示比 -x 选项更详细的信息, 信息来自文件 /proc/PID/smaps |
-XX | 显示 kernel能提供的一切信息 |
-c, –read-rc | 读取默认配置 |
-V, –version | 显示版本信息 |
举例
pmap -x 7642
命令打印进程 7642 的内存信息,其中 扩展格式和设备格式字段含义如下
字段 | 含义 |
---|---|
Address | 映像起始地址 |
Kbytes | 映像大小 |
RSS | 驻留集大小 |
Dirty | 脏页大小 |
Mode | 映像权限 |
Mapping | 映像支持文件,[anon]为已分配内存,[stack]为程序堆栈 |
Offset | 文件偏移 |
Device | 设备名 |
# 进程启动命令
7642: java -Xmx256m -server -XX:+PrintGCApplicationStoppedTime -jar bin/center.jar
Address Kbytes RSS Dirty Mode Mapping
0000000000400000 4 0 0 r-x-- java
0000000000600000 4 4 4 rw--- java
00000000018dc000 1208 1092 1092 rw--- [ anon ]
00000000f0000000 257536 134672 134672 rw--- [ anon ]
00000000ffb80000 4608 0 0 ----- [ anon ]
0000000100000000 12080 12052 12052 rw--- [ anon ]
0000000100bcc000 1036496 0 0 ----- [ anon ]
00007f53dda8d000 256 60 60 rw--- [ anon ]
......
12345678910111213