线程运行诊断
nohup java packet.class
运行Java程序
案例1:cpu占用过多
定位:
top
命令定位哪个进程对cpu的占用过高ps H -eo pid,tid,%cpu|grep进程id
命令进一步定位进程中的哪个县城引起的cpu占用过高jstack 进程id
(jdk提供的工具)查看进程中的所有Java线程,线程编号以16进制的形式展示,对应查看哪行哪列发生错误
案例2:程序运行很长时间没有结果
定位:
jstack 进程id
(jdk提供的工具)查看进程中的所有Java线程,线程编号以16进制的形式展示,对应查看哪行哪列发生dead lock
问题
堆内存诊断
jps工具
jps
查看当前系统中有哪写java进程jmap工具
jmap -heap 进程id
查看对内存的占用情况jconsole工具
jconsole
图形界面的,多功能的检测工具,可以连续检测jvisualvm工具
jvisualvm
图形界面的多功能检测工具,含有特殊功能堆Dump(堆转储)截取当前状态下堆的状态