This tutorial explains Linux “pmap” command, options and its usage with examples.
pmap – report memory map of a process
Description :
The pmap command reports the memory map of a process or processes.
Usage :
pmap [ -x | -d ] [ -q ] pids…
pmap -V
Options :
advertisement
advertisement
-x
Show the extended format.
-d
Show the device format.
-q
Do not display some header/footer lines.
-V
Displays version of program.
Examples :
1. View the memory map of a process
$ pmap 3244 3244: man pmap 00314000 108K r-x-- /lib/ld-2.10.1.so 0032f000 4K r---- /lib/ld-2.10.1.so 00330000 4K rw--- /lib/ld-2.10.1.so 0035a000 20K r-x-- /usr/lib/libgdbm.so.3.0.0 0035f000 4K r---- /usr/lib/libgdbm.so.3.0.0 00360000 4K rw--- /usr/lib/libgdbm.so.3.0.0 00bf5000 4K r-x-- [ anon ] 00c83000 1272K r-x-- /lib/tls/i686/cmov/libc-2.10.1.so 00dc1000 4K ----- /lib/tls/i686/cmov/libc-2.10.1.so 00dc2000 8K r---- /lib/tls/i686/cmov/libc-2.10.1.so 00dc4000 4K rw--- /lib/tls/i686/cmov/libc-2.10.1.so 00dc5000 12K rw--- [ anon ] 00e62000 80K r-x-- /lib/libz.so.1.2.3.3 00e76000 4K r---- /lib/libz.so.1.2.3.3 00e77000 4K rw--- /lib/libz.so.1.2.3.3 08048000 164K r-x-- /usr/bin/man 08071000 4K r---- /usr/bin/man 08072000 4K rw--- /usr/bin/man 08073000 4K rw--- [ anon ] 09b3a000 380K rw--- [ anon ] b78de000 8K rw--- [ anon ] b78f3000 8K rw--- [ anon ] bf8c0000 84K rw--- [ stack ] total 2192K
2. View memory map of multiple processes
Sanfoundry Certification Contest of the Month is Live. 100+ Subjects. Participate Now!
$ pmap 13327 13353 13360
3. Extended Format Display using -x option
$ pmap 18282 18282: man pmap 00007f3229279000 7044K r---- /usr/lib/locale/locale-archive 00007f322995a000 88K r-x-- /lib/x86_64-linux-gnu/libz.so.1.2.7 00007f3229970000 2044K ----- /lib/x86_64-linux-gnu/libz.so.1.2.7 00007f3229b6f000 4K r---- /lib/x86_64-linux-gnu/libz.so.1.2.7 00007f3229b70000 4K rw--- /lib/x86_64-linux-gnu/libz.so.1.2.7 00007f3229b71000 20K r-x-- /usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0 00007f3229b76000 2044K ----- /usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0 00007f3229d75000 4K r---- /usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0 00007f3229d76000 4K rw--- /usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0 00007f3229d77000 1784K r-x-- /lib/x86_64-linux-gnu/libc-2.17.so 00007f3229f35000 2044K ----- /lib/x86_64-linux-gnu/libc-2.17.so 00007f322a134000 16K r---- /lib/x86_64-linux-gnu/libc-2.17.so 00007f322a138000 8K rw--- /lib/x86_64-linux-gnu/libc-2.17.so 00007f322a13a000 20K rw--- [ anon ] 00007f322a13f000 48K r-x-- /usr/lib/x86_64-linux-gnu/libpipeline.so.1.2.2 00007f322a14b000 2044K ----- /usr/lib/x86_64-linux-gnu/libpipeline.so.1.2.2 00007f322a34a000 4K r---- /usr/lib/x86_64-linux-gnu/libpipeline.so.1.2.2 00007f322a34b000 4K rw--- /usr/lib/x86_64-linux-gnu/libpipeline.so.1.2.2 00007f322a34c000 116K r-x-- /usr/lib/man-db/libman-2.6.3.so 00007f322a369000 2044K ----- /usr/lib/man-db/libman-2.6.3.so 00007f322a568000 4K r---- /usr/lib/man-db/libman-2.6.3.so 00007f322a569000 4K rw--- /usr/lib/man-db/libman-2.6.3.so 00007f322a56a000 4K rw--- [ anon ] 00007f322a56b000 20K r-x-- /usr/lib/man-db/libmandb-2.6.3.so 00007f322a570000 2044K ----- /usr/lib/man-db/libmandb-2.6.3.so 00007f322a76f000 4K r---- /usr/lib/man-db/libmandb-2.6.3.so 00007f322a770000 4K rw--- /usr/lib/man-db/libmandb-2.6.3.so 00007f322a771000 140K r-x-- /lib/x86_64-linux-gnu/ld-2.17.so 00007f322a97a000 20K rw--- [ anon ] 00007f322a98a000 28K r--s- /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache 00007f322a991000 8K rw--- [ anon ] 00007f322a993000 4K r---- /lib/x86_64-linux-gnu/ld-2.17.so 00007f322a994000 8K rw--- /lib/x86_64-linux-gnu/ld-2.17.so 00007f322a996000 96K r-x-- /usr/bin/man 00007f322abae000 4K r---- /usr/bin/man 00007f322abaf000 4K rw--- /usr/bin/man 00007f322abb0000 4K rw--- [ anon ] 00007f322b356000 396K rw--- [ anon ] 00007fff237e1000 132K rw--- [ stack ] 00007fff23861000 8K r-x-- [ anon ] ffffffffff600000 4K r-x-- [ anon ] total 22328K $ pmap -x 18282 18282: man pmap Address Kbytes RSS Dirty Mode Mapping 00007f3229279000 7044 56 0 r---- locale-archive 00007f322995a000 88 8 0 r-x-- libz.so.1.2.7 00007f3229970000 2044 0 0 ----- libz.so.1.2.7 00007f3229b6f000 4 4 4 r---- libz.so.1.2.7 00007f3229b70000 4 4 4 rw--- libz.so.1.2.7 00007f3229b71000 20 16 0 r-x-- libgdbm.so.3.0.0 00007f3229b76000 2044 0 0 ----- libgdbm.so.3.0.0 00007f3229d75000 4 4 4 r---- libgdbm.so.3.0.0 00007f3229d76000 4 4 4 rw--- libgdbm.so.3.0.0 00007f3229d77000 1784 640 0 r-x-- libc-2.17.so 00007f3229f35000 2044 0 0 ----- libc-2.17.so 00007f322a134000 16 16 16 r---- libc-2.17.so 00007f322a138000 8 8 8 rw--- libc-2.17.so 00007f322a13a000 20 12 12 rw--- [ anon ] 00007f322a13f000 48 36 0 r-x-- libpipeline.so.1.2.2 00007f322a14b000 2044 0 0 ----- libpipeline.so.1.2.2 00007f322a34a000 4 4 4 r---- libpipeline.so.1.2.2 00007f322a34b000 4 4 4 rw--- libpipeline.so.1.2.2 00007f322a34c000 116 76 0 r-x-- libman-2.6.3.so 00007f322a369000 2044 0 0 ----- libman-2.6.3.so 00007f322a568000 4 4 4 r---- libman-2.6.3.so 00007f322a569000 4 4 4 rw--- libman-2.6.3.so 00007f322a56a000 4 4 4 rw--- [ anon ] 00007f322a56b000 20 16 0 r-x-- libmandb-2.6.3.so 00007f322a570000 2044 0 0 ----- libmandb-2.6.3.so 00007f322a76f000 4 4 4 r---- libmandb-2.6.3.so 00007f322a770000 4 4 4 rw--- libmandb-2.6.3.so 00007f322a771000 140 116 0 r-x-- ld-2.17.so 00007f322a97a000 20 20 20 rw--- [ anon ] 00007f322a98a000 28 24 0 r--s- gconv-modules.cache 00007f322a991000 8 8 8 rw--- [ anon ] 00007f322a993000 4 4 4 r---- ld-2.17.so 00007f322a994000 8 8 8 rw--- ld-2.17.so 00007f322a996000 96 80 0 r-x-- man 00007f322abae000 4 4 4 r---- man 00007f322abaf000 4 4 4 rw--- man 00007f322abb0000 4 4 4 rw--- [ anon ] 00007f322b356000 396 320 320 rw--- [ anon ] 00007fff237e1000 132 20 20 rw--- [ stack ] 00007fff23861000 8 4 0 r-x-- [ anon ] ffffffffff600000 4 0 0 r-x-- [ anon ] ---------------- ------ ------ ------ total kB 22356 1544 472
4. Display in Device Format
advertisement
$ pmap -d 18282 18282: man pmap Address Kbytes Mode Offset Device Mapping 00007f3229279000 7044 r---- 0000000000000000 008:00001 locale-archive 00007f322995a000 88 r-x-- 0000000000000000 008:00001 libz.so.1.2.7 00007f3229970000 2044 ----- 0000000000016000 008:00001 libz.so.1.2.7 00007f3229b6f000 4 r---- 0000000000015000 008:00001 libz.so.1.2.7 00007f3229b70000 4 rw--- 0000000000016000 008:00001 libz.so.1.2.7 00007f3229b71000 20 r-x-- 0000000000000000 008:00001 libgdbm.so.3.0.0 00007f3229b76000 2044 ----- 0000000000005000 008:00001 libgdbm.so.3.0.0 00007f3229d75000 4 r---- 0000000000004000 008:00001 libgdbm.so.3.0.0 00007f3229d76000 4 rw--- 0000000000005000 008:00001 libgdbm.so.3.0.0 00007f3229d77000 1784 r-x-- 0000000000000000 008:00001 libc-2.17.so 00007f3229f35000 2044 ----- 00000000001be000 008:00001 libc-2.17.so 00007f322a134000 16 r---- 00000000001bd000 008:00001 libc-2.17.so 00007f322a138000 8 rw--- 00000000001c1000 008:00001 libc-2.17.so 00007f322a13a000 20 rw--- 0000000000000000 000:00000 [ anon ] 00007f322a13f000 48 r-x-- 0000000000000000 008:00001 libpipeline.so.1.2.2 00007f322a14b000 2044 ----- 000000000000c000 008:00001 libpipeline.so.1.2.2 00007f322a34a000 4 r---- 000000000000b000 008:00001 libpipeline.so.1.2.2 00007f322a34b000 4 rw--- 000000000000c000 008:00001 libpipeline.so.1.2.2 00007f322a34c000 116 r-x-- 0000000000000000 008:00001 libman-2.6.3.so 00007f322a369000 2044 ----- 000000000001d000 008:00001 libman-2.6.3.so 00007f322a568000 4 r---- 000000000001c000 008:00001 libman-2.6.3.so 00007f322a569000 4 rw--- 000000000001d000 008:00001 libman-2.6.3.so 00007f322a56a000 4 rw--- 0000000000000000 000:00000 [ anon ] 00007f322a56b000 20 r-x-- 0000000000000000 008:00001 libmandb-2.6.3.so 00007f322a570000 2044 ----- 0000000000005000 008:00001 libmandb-2.6.3.so 00007f322a76f000 4 r---- 0000000000004000 008:00001 libmandb-2.6.3.so 00007f322a770000 4 rw--- 0000000000005000 008:00001 libmandb-2.6.3.so 00007f322a771000 140 r-x-- 0000000000000000 008:00001 ld-2.17.so 00007f322a97a000 20 rw--- 0000000000000000 000:00000 [ anon ] 00007f322a98a000 28 r--s- 0000000000000000 008:00001 gconv-modules.cache 00007f322a991000 8 rw--- 0000000000000000 000:00000 [ anon ] 00007f322a993000 4 r---- 0000000000022000 008:00001 ld-2.17.so 00007f322a994000 8 rw--- 0000000000023000 008:00001 ld-2.17.so 00007f322a996000 96 r-x-- 0000000000000000 008:00001 man 00007f322abae000 4 r---- 0000000000018000 008:00001 man 00007f322abaf000 4 rw--- 0000000000019000 008:00001 man 00007f322abb0000 4 rw--- 0000000000000000 000:00000 [ anon ] 00007f322b356000 396 rw--- 0000000000000000 000:00000 [ anon ] 00007fff237e1000 132 rw--- 0000000000000000 000:00000 [ stack ] 00007fff23861000 8 r-x-- 0000000000000000 000:00000 [ anon ] ffffffffff600000 4 r-x-- 0000000000000000 000:00000 [ anon ] mapped: 22328K writeable/private: 624K shared: 28K
5. Don’t show headers and footers in output
$ pmap -q 18282 18282: man pmap 00007f3229279000 7044K r---- /usr/lib/locale/locale-archive 00007f322995a000 88K r-x-- /lib/x86_64-linux-gnu/libz.so.1.2.7 00007f3229970000 2044K ----- /lib/x86_64-linux-gnu/libz.so.1.2.7 00007f3229b6f000 4K r---- /lib/x86_64-linux-gnu/libz.so.1.2.7 00007f3229b70000 4K rw--- /lib/x86_64-linux-gnu/libz.so.1.2.7 00007f3229b71000 20K r-x-- /usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0 00007f3229b76000 2044K ----- /usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0 00007f3229d75000 4K r---- /usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0 00007f3229d76000 4K rw--- /usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0 00007f3229d77000 1784K r-x-- /lib/x86_64-linux-gnu/libc-2.17.so 00007f3229f35000 2044K ----- /lib/x86_64-linux-gnu/libc-2.17.so 00007f322a134000 16K r---- /lib/x86_64-linux-gnu/libc-2.17.so 00007f322a138000 8K rw--- /lib/x86_64-linux-gnu/libc-2.17.so 00007f322a13a000 20K rw--- [ anon ] 00007f322a13f000 48K r-x-- /usr/lib/x86_64-linux-gnu/libpipeline.so.1.2.2 00007f322a14b000 2044K ----- /usr/lib/x86_64-linux-gnu/libpipeline.so.1.2.2 00007f322a34a000 4K r---- /usr/lib/x86_64-linux-gnu/libpipeline.so.1.2.2 00007f322a34b000 4K rw--- /usr/lib/x86_64-linux-gnu/libpipeline.so.1.2.2 00007f322a34c000 116K r-x-- /usr/lib/man-db/libman-2.6.3.so 00007f322a369000 2044K ----- /usr/lib/man-db/libman-2.6.3.so 00007f322a568000 4K r---- /usr/lib/man-db/libman-2.6.3.so 00007f322a569000 4K rw--- /usr/lib/man-db/libman-2.6.3.so 00007f322a56a000 4K rw--- [ anon ] 00007f322a56b000 20K r-x-- /usr/lib/man-db/libmandb-2.6.3.so 00007f322a570000 2044K ----- /usr/lib/man-db/libmandb-2.6.3.so 00007f322a76f000 4K r---- /usr/lib/man-db/libmandb-2.6.3.so 00007f322a770000 4K rw--- /usr/lib/man-db/libmandb-2.6.3.so 00007f322a771000 140K r-x-- /lib/x86_64-linux-gnu/ld-2.17.so 00007f322a97a000 20K rw--- [ anon ] 00007f322a98a000 28K r--s- /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache 00007f322a991000 8K rw--- [ anon ] 00007f322a993000 4K r---- /lib/x86_64-linux-gnu/ld-2.17.so 00007f322a994000 8K rw--- /lib/x86_64-linux-gnu/ld-2.17.so 00007f322a996000 96K r-x-- /usr/bin/man 00007f322abae000 4K r---- /usr/bin/man 00007f322abaf000 4K rw--- /usr/bin/man 00007f322abb0000 4K rw--- [ anon ] 00007f322b356000 396K rw--- [ anon ] 00007fff237e1000 132K rw--- [ stack ] 00007fff23861000 8K r-x-- [ anon ] ffffffffff600000 4K r-x-- [ anon ]
Sanfoundry Global Education & Learning Series – 1000 Linux Tutorials.
advertisement
If you wish to look at all Linux commands and their usage examples, go to Linux Commands Tutorial.
If you find any mistake above, kindly email to [email protected]Related Posts:
- Apply for Programming Internship
- Practice Programming MCQs
- Check Information Technology Books
- Check Linux Books