查看jvm和线程使用情况的方法

介绍

这篇文章给大家分享的是有关查看jvm和线程使用情况的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

查看jvm和线程使用情况的方法:执行【jmap堆PID】命令查看jvm使用情况,执行【jstack PID】命令查看线程使用情况。

查看jvm使用情况

jmap堆PID

查看线程使用情况

jstack PID

jstack是java虚拟机自带的一种堆栈跟踪工具,用于生成java虚拟机当前时刻的线程快照。

线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环,请求外部资源导致的长时间等待等。

线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。如果java程序崩溃生成核心文件,jstack工具可以用来获得核心文件的java堆栈和本地堆栈的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。

另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java堆栈和本地堆栈的信息,如果现在运行的java程序呈现挂的状态,jstack是非常有用的。

感谢各位的阅读!关于查看jvm和线程使用情况的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

查看jvm和线程使用情况的方法