jmap是Java内存映像工具,用于生成堆转储文件(heap dump file)。
1. 生成堆转储文件:
jmap -dump:format=b,file=<文件名> <进程ID>
<文件名>是要保存堆转储文件的名称,`<进程ID>`是Java进程的ID。
2. 查看Java进程的共享对象:(查看内存泄漏的原因)
jmap -histo:live <进程ID>
3. 查看Java进程的类加载器和类信息:
jmap -clstats <进程ID>
4. 查看Java进程的堆内存使用情况:
jmap -heap <进程ID>
5. 查看Java进程的线程信息:
jmap -threads <进程ID>
6. 查看Java进程的GC统计信息:
jmap -gc <进程ID>
7. 查看Java进程的内存区域信息:
jmap -regions <进程ID>
8. 查看Java进程的虚拟机统计信息:
jmap -stats <进程ID>
9. 查看Java进程的FGC统计信息:
jmap -fgc <进程ID>
10. 查看Java进程的类加载器统计信息:
jmap -lstats <进程ID>
11. 查看Java进程的类加载器详细信息:
jmap -m <进程ID>
12. 查看Java进程的类加载器和类信息:
jmap -permstat <进程ID>
13. 查看Java进程的类加载器和类信息(包括卸载的类):
jmap -permstat:all <进程ID>
14. 查看Java进程的类加载器和类信息(包括未使用的类):
jmap -permstat:unloaded <进程ID>
15. 查看Java进程的类加载器和类信息(包括已卸载的类):
jmap -permstat:scrub <进程ID>
16. 查看Java进程的类加载器和类信息(包括已卸载的类和未使用的类):
jmap -permstat:finalize <进程ID>
注:window系统可能会有局限 会失效