pmap

提供: セキュリティ
2013年12月5日 (木) 21:06時点におけるDaemon (トーク | 投稿記録)による版

移動: 案内検索
スポンサーリンク

pmap とは、プロセスのメモリマップをレポートするLinuxのコマンドです。

読み方

pmap
ぴーまっぷ

概要

pmap とは、プロセスのメモリマップをレポートするLinuxのコマンドです。

インストール

Linux のデフォルトのコマンドです。

FreeBSDにインストールする場合

ports コレクションからインストールする場合

cd /usr/ports/sysutils/pmap
sudo make install clean

pkgコマンドでインストールする場合

sudo pkg install pmap

portmasterコマンドでインストールする場合

sudo portmaster -y -d /usr/ports/sysutils/pmap

portinstallコマンドでインストールする場合

sudo portinstall /usr/ports/sysutils/pmap

カーネルモジュールのロード

sudo kldload pmap_helper

書式

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
コマンドラインオプション
オプション 説明
-x 詳細の表示
-d オフセットとデバイス番号を表示する
-q 静かなモード。ヘッダー/フッター行を表示しません。
-V プログラムのバージョンを表示します。

dump_vmspace

% dump_vmspace
usage: dump_vmspace pid

使い方

$ pmap 16900
16900:   more /etc/rc
0000000000400000     32K r-x--  /bin/more
0000000000608000      4K rw---  /bin/more
0000000002236000    132K rw---    [ anon ]
000000364cc00000    128K r-x--  /lib64/ld-2.12.so
000000364ce1f000      4K r----  /lib64/ld-2.12.so
000000364ce20000      4K rw---  /lib64/ld-2.12.so
000000364ce21000      4K rw---    [ anon ]
000000364d000000   1576K r-x--  /lib64/libc-2.12.so
000000364d18a000   2044K -----  /lib64/libc-2.12.so
000000364d389000     16K r----  /lib64/libc-2.12.so
000000364d38d000      4K rw---  /lib64/libc-2.12.so
000000364d38e000     20K rw---    [ anon ]
000000365d800000    116K r-x--  /lib64/libtinfo.so.5.7
000000365d81d000   2048K -----  /lib64/libtinfo.so.5.7
000000365da1d000     16K rw---  /lib64/libtinfo.so.5.7
00007f3547aa7000  96836K r----  /usr/lib/locale/locale-archive
00007f354d938000     12K rw---    [ anon ]
00007f354d93f000      4K rw---    [ anon ]
00007f354d940000     28K r--s-  /usr/lib64/gconv/gconv-modules.cache
00007f354d947000      8K rw---    [ anon ]
00007fffccda4000     84K rw---    [ stack ]
00007fffccdff000      4K r-x--    [ anon ]
ffffffffff600000      4K r-x--    [ anon ]
 total           103128K

pmap

$ sudo pmap  1
1:   /sbin/init
00007f89abcdf000     48K r-x--  /lib64/libnss_files-2.12.so
00007f89abceb000   2048K -----  /lib64/libnss_files-2.12.so
00007f89abeeb000      4K r----  /lib64/libnss_files-2.12.so
00007f89abeec000      4K rw---  /lib64/libnss_files-2.12.so
00007f89abeed000   1576K r-x--  /lib64/libc-2.12.so
00007f89ac077000   2044K -----  /lib64/libc-2.12.so
00007f89ac276000     16K r----  /lib64/libc-2.12.so
00007f89ac27a000      4K rw---  /lib64/libc-2.12.so
00007f89ac27b000     20K rw---    [ anon ]
00007f89ac280000     88K r-x--  /lib64/libgcc_s-4.4.7-20120601.so.1
00007f89ac296000   2044K -----  /lib64/libgcc_s-4.4.7-20120601.so.1
00007f89ac495000      4K rw---  /lib64/libgcc_s-4.4.7-20120601.so.1
00007f89ac496000     28K r-x--  /lib64/librt-2.12.so
00007f89ac49d000   2044K -----  /lib64/librt-2.12.so
00007f89ac69c000      4K r----  /lib64/librt-2.12.so
00007f89ac69d000      4K rw---  /lib64/librt-2.12.so
00007f89ac69e000     92K r-x--  /lib64/libpthread-2.12.so
00007f89ac6b5000   2048K -----  /lib64/libpthread-2.12.so
00007f89ac8b5000      4K r----  /lib64/libpthread-2.12.so
00007f89ac8b6000      4K rw---  /lib64/libpthread-2.12.so
00007f89ac8b7000     16K rw---    [ anon ]
00007f89ac8bb000    256K r-x--  /lib64/libdbus-1.so.3.4.0
00007f89ac8fb000   2044K -----  /lib64/libdbus-1.so.3.4.0
00007f89acafa000      4K r----  /lib64/libdbus-1.so.3.4.0
00007f89acafb000      4K rw---  /lib64/libdbus-1.so.3.4.0
00007f89acafc000     36K r-x--  /lib64/libnih-dbus.so.1.0.0
00007f89acb05000   2044K -----  /lib64/libnih-dbus.so.1.0.0
00007f89acd04000      4K r----  /lib64/libnih-dbus.so.1.0.0
00007f89acd05000      4K rw---  /lib64/libnih-dbus.so.1.0.0
00007f89acd06000     96K r-x--  /lib64/libnih.so.1.0.0
00007f89acd1e000   2044K -----  /lib64/libnih.so.1.0.0
00007f89acf1d000      4K r----  /lib64/libnih.so.1.0.0
00007f89acf1e000      4K rw---  /lib64/libnih.so.1.0.0
00007f89acf1f000    128K r-x--  /lib64/ld-2.12.so
00007f89ad12a000     20K rw---    [ anon ]
00007f89ad13d000      4K rw---    [ anon ]
00007f89ad13e000      4K r----  /lib64/ld-2.12.so
00007f89ad13f000      4K rw---  /lib64/ld-2.12.so
00007f89ad140000      4K rw---    [ anon ]
00007f89ad141000    140K r-x--  /sbin/init
00007f89ad363000      8K r----  /sbin/init
00007f89ad365000      4K rw---  /sbin/init
00007f89ae7bc000    256K rw---    [ anon ]
00007fff2b0fa000     84K rw---    [ stack ]
00007fff2b1ff000      4K r-x--    [ anon ]
ffffffffff600000      4K r-x--    [ anon ]
 total            19352K

pmap -x

$ sudo pmap -x 1
1:   /sbin/init
Address           Kbytes     RSS   Dirty Mode   Mapping
00007f89abcdf000      48      24       0 r-x--  libnss_files-2.12.so
00007f89abceb000    2048       0       0 -----  libnss_files-2.12.so
00007f89abeeb000       4       4       4 r----  libnss_files-2.12.so
00007f89abeec000       4       0       0 rw---  libnss_files-2.12.so
00007f89abeed000    1576     556       0 r-x--  libc-2.12.so
00007f89ac077000    2044       0       0 -----  libc-2.12.so
00007f89ac276000      16      16      16 r----  libc-2.12.so
00007f89ac27a000       4       4       4 rw---  libc-2.12.so
00007f89ac27b000      20      16      16 rw---    [ anon ]
00007f89ac280000      88      16       0 r-x--  libgcc_s-4.4.7-20120601.so.1
00007f89ac296000    2044       0       0 -----  libgcc_s-4.4.7-20120601.so.1
00007f89ac495000       4       0       0 rw---  libgcc_s-4.4.7-20120601.so.1
00007f89ac496000      28      20       0 r-x--  librt-2.12.so
00007f89ac49d000    2044       0       0 -----  librt-2.12.so
00007f89ac69c000       4       4       4 r----  librt-2.12.so
00007f89ac69d000       4       4       4 rw---  librt-2.12.so
00007f89ac69e000      92      48       0 r-x--  libpthread-2.12.so
00007f89ac6b5000    2048       0       0 -----  libpthread-2.12.so
00007f89ac8b5000       4       4       4 r----  libpthread-2.12.so
00007f89ac8b6000       4       4       4 rw---  libpthread-2.12.so
00007f89ac8b7000      16       4       4 rw---    [ anon ]
00007f89ac8bb000     256     208       0 r-x--  libdbus-1.so.3.4.0
00007f89ac8fb000    2044       0       0 -----  libdbus-1.so.3.4.0
00007f89acafa000       4       4       4 r----  libdbus-1.so.3.4.0
00007f89acafb000       4       4       4 rw---  libdbus-1.so.3.4.0
00007f89acafc000      36      32       0 r-x--  libnih-dbus.so.1.0.0
00007f89acb05000    2044       0       0 -----  libnih-dbus.so.1.0.0
00007f89acd04000       4       4       4 r----  libnih-dbus.so.1.0.0
00007f89acd05000       4       4       4 rw---  libnih-dbus.so.1.0.0
00007f89acd06000      96      84       0 r-x--  libnih.so.1.0.0
00007f89acd1e000    2044       0       0 -----  libnih.so.1.0.0
00007f89acf1d000       4       4       4 r----  libnih.so.1.0.0
00007f89acf1e000       4       4       4 rw---  libnih.so.1.0.0
00007f89acf1f000     128     108       0 r-x--  ld-2.12.so
00007f89ad12a000      20       8       8 rw---    [ anon ]
00007f89ad13d000       4       4       4 rw---    [ anon ]
00007f89ad13e000       4       4       4 r----  ld-2.12.so
00007f89ad13f000       4       4       4 rw---  ld-2.12.so
00007f89ad140000       4       4       4 rw---    [ anon ]
00007f89ad141000     140     124       0 r-x--  init
00007f89ad363000       8       8       8 r----  init
00007f89ad365000       4       4       0 rw---  init
00007f89ae7bc000     256     144     108 rw---    [ anon ]
00007fff2b0fa000      84      20      20 rw---    [ stack ]
00007fff2b1ff000       4       4       0 r-x--    [ anon ]
ffffffffff600000       4       0       0 r-x--    [ anon ]
----------------  ------  ------  ------
total kB           19352    1508     244

pmap -d

$ sudo pmap -d 1
1:   /sbin/init
Address           Kbytes Mode  Offset           Device    Mapping
00007f89abcdf000      48 r-x-- 0000000000000000 0fd:00000 libnss_files-2.12.so
00007f89abceb000    2048 ----- 000000000000c000 0fd:00000 libnss_files-2.12.so
00007f89abeeb000       4 r---- 000000000000c000 0fd:00000 libnss_files-2.12.so
00007f89abeec000       4 rw--- 000000000000d000 0fd:00000 libnss_files-2.12.so
00007f89abeed000    1576 r-x-- 0000000000000000 0fd:00000 libc-2.12.so
00007f89ac077000    2044 ----- 000000000018a000 0fd:00000 libc-2.12.so
00007f89ac276000      16 r---- 0000000000189000 0fd:00000 libc-2.12.so
00007f89ac27a000       4 rw--- 000000000018d000 0fd:00000 libc-2.12.so
00007f89ac27b000      20 rw--- 0000000000000000 000:00000   [ anon ]
00007f89ac280000      88 r-x-- 0000000000000000 0fd:00000 libgcc_s-4.4.7-20120601.so.1
00007f89ac296000    2044 ----- 0000000000016000 0fd:00000 libgcc_s-4.4.7-20120601.so.1
00007f89ac495000       4 rw--- 0000000000015000 0fd:00000 libgcc_s-4.4.7-20120601.so.1
00007f89ac496000      28 r-x-- 0000000000000000 0fd:00000 librt-2.12.so
00007f89ac49d000    2044 ----- 0000000000007000 0fd:00000 librt-2.12.so
00007f89ac69c000       4 r---- 0000000000006000 0fd:00000 librt-2.12.so
00007f89ac69d000       4 rw--- 0000000000007000 0fd:00000 librt-2.12.so
00007f89ac69e000      92 r-x-- 0000000000000000 0fd:00000 libpthread-2.12.so
00007f89ac6b5000    2048 ----- 0000000000017000 0fd:00000 libpthread-2.12.so
00007f89ac8b5000       4 r---- 0000000000017000 0fd:00000 libpthread-2.12.so
00007f89ac8b6000       4 rw--- 0000000000018000 0fd:00000 libpthread-2.12.so
00007f89ac8b7000      16 rw--- 0000000000000000 000:00000   [ anon ]
00007f89ac8bb000     256 r-x-- 0000000000000000 0fd:00000 libdbus-1.so.3.4.0
00007f89ac8fb000    2044 ----- 0000000000040000 0fd:00000 libdbus-1.so.3.4.0
00007f89acafa000       4 r---- 000000000003f000 0fd:00000 libdbus-1.so.3.4.0
00007f89acafb000       4 rw--- 0000000000040000 0fd:00000 libdbus-1.so.3.4.0
00007f89acafc000      36 r-x-- 0000000000000000 0fd:00000 libnih-dbus.so.1.0.0
00007f89acb05000    2044 ----- 0000000000009000 0fd:00000 libnih-dbus.so.1.0.0
00007f89acd04000       4 r---- 0000000000008000 0fd:00000 libnih-dbus.so.1.0.0
00007f89acd05000       4 rw--- 0000000000009000 0fd:00000 libnih-dbus.so.1.0.0
00007f89acd06000      96 r-x-- 0000000000000000 0fd:00000 libnih.so.1.0.0
00007f89acd1e000    2044 ----- 0000000000018000 0fd:00000 libnih.so.1.0.0
00007f89acf1d000       4 r---- 0000000000017000 0fd:00000 libnih.so.1.0.0
00007f89acf1e000       4 rw--- 0000000000018000 0fd:00000 libnih.so.1.0.0
00007f89acf1f000     128 r-x-- 0000000000000000 0fd:00000 ld-2.12.so
00007f89ad12a000      20 rw--- 0000000000000000 000:00000   [ anon ]
00007f89ad13d000       4 rw--- 0000000000000000 000:00000   [ anon ]
00007f89ad13e000       4 r---- 000000000001f000 0fd:00000 ld-2.12.so
00007f89ad13f000       4 rw--- 0000000000020000 0fd:00000 ld-2.12.so
00007f89ad140000       4 rw--- 0000000000000000 000:00000   [ anon ]
00007f89ad141000     140 r-x-- 0000000000000000 0fd:00000 init
00007f89ad363000       8 r---- 0000000000022000 0fd:00000 init
00007f89ad365000       4 rw--- 0000000000024000 0fd:00000 init
00007f89ae7bc000     256 rw--- 0000000000000000 000:00000   [ anon ]
00007fff2b0fa000      84 rw--- 0000000000000000 000:00000   [ stack ]
00007fff2b1ff000       4 r-x-- 0000000000000000 000:00000   [ anon ]
ffffffffff600000       4 r-x-- 0000000000000000 000:00000   [ anon ]
mapped: 19352K    writeable/private: 444K    shared: 0K

dump_vmspace

% sudo dump_vmspace 86636                                                                                                                                                                                                     11:59[vm2 /tmp]
 
pid: 86636 comm: bash
VM Space located at 0xc5487910
VM Map: version: 114, size: 11018240, 17 entries, system_map: 0, flags: 0x0<>
end start object offset wired prot flags
0 -> 0x8048000 - 0x80e5000 0xc8c79afc 0 0 r-x 0x40c<COW,NC,NOCORE>
        addr type size ref shadow res bobj flags
        0xc8c79afc: VN 164 2 1 158 0x0 0x1000<>
1 -> 0x80e5000 - 0x80e9000 0xc68c14a0 0 0 rw- 0x4<COW>
        addr type size ref shadow res bobj flags
        0xc68c14a0: DEF 4 1 0 4 0xc8c79afc 0x3000<ONEMAP>
        0xc8c79afc: VN 164 2 1 158 0x0 0x1000<>
2 -> 0x80e9000 - 0x8400000 0xc8ec0afc 0 0 rw- 0x4<COW>
        addr type size ref shadow res bobj flags
        0xc8ec0afc: DEF 791 1 0 5 0x0 0x3000<ONEMAP>
3 -> 0x280e5000 - 0x280fb000 0xc1aa5000 0 0 r-x 0x40c<COW,NC,NOCORE>
        addr type size ref shadow res bobj flags
        0xc1aa5000: VN 24 66 0 23 0x0 0x1004<ACT>
4 -> 0x280fb000 - 0x28105000 0xc7fc69d4 0 0 rw- 0xc<COW,NC>
        addr type size ref shadow res bobj flags
        0xc7fc69d4: DEF 10 1 0 10 0x0 0x3000<ONEMAP>
5 -> 0x28106000 - 0x28144000 0xc1abb378 0 0 r-x 0x40c<COW,NC,NOCORE>
        addr type size ref shadow res bobj flags
        0xc1abb378: VN 67 48 24 46 0x0 0x1004<ACT>
6 -> 0x28144000 - 0x28147000 0xc7e76e74 0 0 rw- 0xc<COW,NC>
        addr type size ref shadow res bobj flags
        0xc7e76e74: DEF 3 1 0 3 0xc1abb378 0x3000<ONEMAP>
        0xc1abb378: VN 67 48 24 46 0x0 0x1004<ACT>
7 -> 0x28147000 - 0x2814f000 0xc895b65c 0 0 r-x 0x40c<COW,NC,NOCORE>
        addr type size ref shadow res bobj flags
        0xc895b65c: VN 11 38 14 8 0x0 0x1000<>
8 -> 0x2814f000 - 0x28150000 0xc6d3b6f0 0 0 rw- 0xc<COW,NC>
        addr type size ref shadow res bobj flags
        0xc6d3b6f0: DEF 1 1 0 1 0xc895b65c 0x3000<ONEMAP>
        0xc895b65c: VN 11 38 14 8 0x0 0x1000<>
9 -> 0x28150000 - 0x28247000 0xc7238afc 0 0 r-x 0x40c<COW,NC,NOCORE>
        addr type size ref shadow res bobj flags
        0xc7238afc: VN 259 60 25 20 0x0 0x1000<>
10 -> 0x28247000 - 0x28248000 0xc9226534 0 0 rw- 0xc<COW,NC>
        addr type size ref shadow res bobj flags
        0xc9226534: DEF 1 1 0 1 0xc7238afc 0x3000<ONEMAP>
        0xc7238afc: VN 259 60 25 20 0x0 0x1000<>
11 -> 0x28248000 - 0x2835e000 0xc1abb1bc 0 0 r-x 0x40c<COW,NC,NOCORE>
        addr type size ref shadow res bobj flags
        0xc1abb1bc: VN 306 121 55 258 0x0 0x1004<ACT>
12 -> 0x2835e000 - 0x28364000 0xc9341940 0 0 rw- 0x4<COW>
        addr type size ref shadow res bobj flags
        0xc9341940: DEF 6 1 0 6 0xc1abb1bc 0x3000<ONEMAP>
        0xc1abb1bc: VN 306 121 55 258 0x0 0x1004<ACT>
13 -> 0x28364000 - 0x2838f000 0xc991a940 0 0 rw- 0x4<COW>
        addr type size ref shadow res bobj flags
        0xc991a940: DEF 43 1 0 24 0x0 0x3000<ONEMAP>
14 -> 0x28400000 - 0x28800000 0xc681b6f0 0 0 rw- 0x4<COW>
        addr type size ref shadow res bobj flags
        0xc681b6f0: DEF 1024 1 0 103 0x0 0x3000<ONEMAP>
15 -> 0xbfbdf000 - 0xbfbff000 0xc7156a68 0 0 rwx 0x1004<COW,GDOWN>
        addr type size ref shadow res bobj flags
        0xc7156a68: DEF 32 1 0 7 0x0 0x3000<ONEMAP>
16 -> 0xbfbff000 - 0xbfc00000 0xc1acd4a0 0 0 r-x 0x0<>
        addr type size ref shadow res bobj flags
        0xc1acd4a0: PHY 1 69 0 1 0x0 0x4<ACT>

関連項目




スポンサーリンク