linux显示进程的内存映射pmap

pmap命令可以显示进程的内存映射,使用这个命令可以找出造成内存瓶颈的原因。

# pmap -d PID

显示PID为47394进程的内存信息。

# pmap -d 47394

输出样例:

47394:   /usr/bin/php-cgi

Address           Kbytes Mode Offset           Device    Mapping

0000000000400000    2584 r-x-- 0000000000000000 008:00002 php-cgi

0000000000886000     140 rw--- 0000000000286000 008:00002 php-cgi

00000000008a9000      52 rw--- 00000000008a9000 000:00000   [ anon ]

0000000000aa8000      76 rw--- 00000000002a8000 008:00002 php-cgi

000000000f678000    1980 rw--- 000000000f678000 000:00000   [ anon ]

000000314a600000     112 r-x-- 0000000000000000 008:00002 ld-2.5.so

000000314a81b000       4 r---- 000000000001b000 008:00002 ld-2.5.so

000000314a81c000       4 rw--- 000000000001c000 008:00002 ld-2.5.so

000000314aa00000    1328 r-x-- 0000000000000000 008:00002 libc-2.5.so

000000314ab4c000    2048 ----- 000000000014c000 008:00002 libc-2.5.so

.....

......

00002af8d48fd000       4 rw--- 0000000000006000 008:00002 xsl.so

00002af8d490c000      40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so

00002af8d4916000    2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so

00002af8d4b15000       4 r---- 0000000000009000 008:00002 libnss_files-2.5.so

00002af8d4b16000       4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so

00002af8d4b17000 768000 rw-s- 0000000000000000 000:00009 zero (deleted)

00007fffc95fe000      84 rw--- 00007ffffffea000 000:00000   [ stack ]

ffffffffff600000    8192 ----- 0000000000000000 000:00000   [ anon ]

mapped: 933712K    writeable/private: 4304K    shared: 768000K

最后一行非常重要:

* mapped: 933712K 内存映射所占空间大小

* writeable/private: 4304K 私有地址空间大小

* shared: 768000K 共享地址空间大小

原文地址:https://www.cnblogs.com/fanweisheng/p/11109066.html