java 堆外内存dump
[root@localhost ~]# pmap -x 13676 | sort -n -r > 1.txt
[root@localhost ~]# cat 1.txt
......
Address Kbytes RSS Dirty Mode Mapping
00007f9ccc0b3000 1804 412 0 r-x-- libc-2.17.so
00007f9ccc078000 236 188 188 rw--- [ anon ]
00007f9ccc047000 196 160 120 rw--- libjvm.so
00007f9ccbfb1000 600 476 432 r---- libjvm.so
00007f9ccbdb2000 2044 0 0 ----- libjvm.so
00007f9ccb0ca000 13216 5364 0 r-x-- libjvm.so
00007f9ccb0c9000 4 4 4 rw--- libm-2.17.so
00007f9ccb0c8000 4 4 4 r---- libm-2.17.so
00007f9ccaec9000 2044 0 0 ----- libm-2.17.so
00007f9ccadc8000 1028 20 0 r-x-- libm-2.17.so
00007f9ccadc7000 4 0 0 rw--- librt-2.17.so
00007f9ccadc6000 4 4 4 r---- librt-2.17.so
00007f9ccabc7000 2044 0 0 ----- librt-2.17.so
00007f9ccabc0000 28 0 0 r-x-- librt-2.17.so
00007f9ccabbf000 4 4 4 rw--- libverify.so
00007f9ccabbd000 8 8 8 r---- libverify.so
00007f9cca9be000 2044 0 0 ----- libverify.so
00007f9cca9b1000 52 8 0 r-x-- libverify.so
00007f9cca9af000 8 8 8 rw--- libjava.so
00007f9cca9ae000 4 4 4 r---- libjava.so
00007f9cca7ae000 2048 0 0 ----- libjava.so
00007f9cca782000 176 40 0 r-x-- libjava.so
00007f9cca781000 4 4 4 rw--- libjdwp.so
00007f9cca780000 4 4 4 r---- libjdwp.so
00007f9cca581000 2044 0 0 ----- libjdwp.so
00007f9cca547000 232 64 0 r-x-- libjdwp.so
00007f9cca546000 4 0 0 rw--- libnpt.so
00007f9cca545000 4 4 4 r---- libnpt.so
00007f9cca345000 2048 0 0 ----- libnpt.so
00007f9cca343000 8 0 0 r-x-- libnpt.so
00007f9cca33d000 24 0 0 rw--- [ anon ]
......
上面0000xx是内存的地址,dump “00000000017cf000 80696 43764 43764 rw--- [ anon ]”内存块,起始地址:00007f9ccb0ca000, 结束地址:00007f9ccbdb2000
使用gdb dump内存
[root@localhost ~]# gdb -pid 13676
(gdb) dump memory /root/dump.bin 0x00007f9ccb0ca000 0x00007f9ccbdb2000
查看dump文件
[root@localhost ~]# strings dump.bin
... ....
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
std::basic_istream<char, std::char_traits<char> >
std::basic_ostream<char, std::char_traits<char> >
std::basic_iostream<char, std::char_traits<char> >
__gnu_cxx::__concurrence_lock_error
__gnu_cxx::__concurrence_unlock_error
N9__gnu_cxx24__concurrence_lock_errorE
N9__gnu_cxx26__concurrence_unlock_errorE
std::bad_alloc
St9bad_alloc
std::exception
std::bad_exception
St9exception
St13bad_exception
N10__cxxabiv115__forced_unwindE
N10__cxxabiv119__foreign_exceptionE
N10__cxxabiv117__class_type_infoE
N10__cxxabiv120__si_class_type_infoE
... ....