有哪些JDK内置的性能分析工具可以使用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2437个文字,预计阅读时间需要10分钟。
有时会遇到服务器CPU过载或程序卡死等问题,这类bug通常定位困难。这类问题往往隐藏得比较深,且可能具有偶发性,比较棘手。对此类问题,我们通常有一套固定的分析流程。
有时候碰到服务器CPU飙升或者程序卡死之类的问题,一般都不太好定位。这类bug一般都隐藏的比较深并且还可能是偶发性的,比较棘手。
对于此类问题,一般我们都有固定的分析流程。借助于JDK自带的一些分析工具,比如jstack、jmap、jstat一类的命令行工具,除此之外,还有jconsole、mat、jvisualvm这些图形界面分析工具。
这篇文章基于JDK8,操作系统是macOS 12.0.1
1、一些命令行分析工具这些命令行分析工具都在jdk/bin目录下
解压jdk/lib/tool.jar可以得到上述工具的class文件
1.1 jps - JVM Process Status Tool作用:列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID。
第一个参数说明:
-
-q:默认携带的参数,显示进程ID。
-
-m:显示进程ID,主类名称,以及传入main方法的参数。
-
-l:显示进程ID,主类全名。
-
-v:显示进程ID,主类名称,以及传入JVM的参数。
本文共计2437个文字,预计阅读时间需要10分钟。
有时会遇到服务器CPU过载或程序卡死等问题,这类bug通常定位困难。这类问题往往隐藏得比较深,且可能具有偶发性,比较棘手。对此类问题,我们通常有一套固定的分析流程。
有时候碰到服务器CPU飙升或者程序卡死之类的问题,一般都不太好定位。这类bug一般都隐藏的比较深并且还可能是偶发性的,比较棘手。
对于此类问题,一般我们都有固定的分析流程。借助于JDK自带的一些分析工具,比如jstack、jmap、jstat一类的命令行工具,除此之外,还有jconsole、mat、jvisualvm这些图形界面分析工具。
这篇文章基于JDK8,操作系统是macOS 12.0.1
1、一些命令行分析工具这些命令行分析工具都在jdk/bin目录下
解压jdk/lib/tool.jar可以得到上述工具的class文件
1.1 jps - JVM Process Status Tool作用:列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID。
第一个参数说明:
-
-q:默认携带的参数,显示进程ID。
-
-m:显示进程ID,主类名称,以及传入main方法的参数。
-
-l:显示进程ID,主类全名。
-
-v:显示进程ID,主类名称,以及传入JVM的参数。

