CPU或内存过高

CPU过高
1.top
查看占用cpu过高的进程pid
2.top -Hp pid
查看该进程中每个线程占用cpu的情况
3.printf "%x\n" tid
将线程转为16进制
4.jstack pid | grep tid
定位问题代码
5.jstack -l pid >> dump.txt
将结果输出到dump.txt文件中

内存过高
1.top
定位内存过高进程
2.jstst -gccause pid 2000
查看进程GC情况
3.jmap -histo:live pid | heap -n 100
查看进程存活对象占用前100
4.jmap -heap pid
查看进程新生代,老年代,永久代情况
5.jmap -dump:format=b,file=heap.dmp pid
导出内存镜像
6.jhat -J -Xmx1024m -port <端口号:默认为7000> heap.dmp
使用jhat查看内存镜像
7.jconsole
8.jviusalvm

你可能感兴趣的:(CPU或内存过高)