常用的内存调试工具:jps、jmap、jhat、jstack、jconsole,jstat:
jps:查看虚拟机进程的状况,如进程ID。
jmap: 用于生成堆转储快照文件(某一时刻的)。
jhat:对生成的堆转储快照文件进行分析。
jstack:用来生成线程快照(某一时刻的)。
- 生成线程快照的主要目的是定位线程长时停顿的原因(如死锁,死循环,等待I/O 等),通过查看各个线程的调用堆栈,就可以知道没有响应的线程在后台做了什么或者等待什么资源。
jstat:虚拟机统计信息监视工具。如显示垃圾收集的情况,内存使用的情况。
jconsole:主要是内存监控和线程监控。
-
内存监控:可以显示内存的使用情况。线程监控:遇到线程停顿时,可以使用这个功能。