查看jvm和线程使用情况的方法:执行【jmap -heap PID】命令查看jvm使用情况;执行【jstack pid】命令查看线程使用情况。
查看jvm使用情况
(视频教程推荐:java课程)
jmap -heap PID
查看线程使用情况
jstack pid
jstack是java虚拟机自带的一种堆栈跟踪工具,用于生成java虚拟机当前时刻的线程快照。
线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。
线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。
另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。
相关推荐:java入门
以上是怎么查看jvm和线程使用情况的详细内容。更多信息请关注PHP中文网其他相关文章!