学会JMap和JStack命令,遇到卡顿时,先导出线程和内存DUMP
- 获取线程dump:
a. 使用JStack获取线程dump。例如:jstack -l [pid] > threads.txt
b. 这将生成一个名为threads.txt
的文件,其中包含所有线程的堆栈跟踪。
2. 获取堆dump (memory dump):
a. 使用JMap获取堆dump。例如:jmap -dump:format=b,file=heapdump.bin [pid]
b. 这将生成一个名为heapdump.bin
的文件,其中包含堆的内存dump。
3.分析
使用JProfiler打开文件工具进行分析,如下图