运行日志、异常堆栈、GC日志、线程快照、堆转储快照都是我们定位系统信息的信息
jdk/bin中“赠送”的应用程序具有很大的作用,这些命令行工具大多数是jdk/lib/tools.jar类库的包装,即这些工具都是tools类库用Java实现的,Windows下Shift+右键
快速进入指定文件夹,下面概述重要的命令行工具,详情参见ORACLE文档
jps
JVM process status Tool,显示指定系统内所有的Hotpot虚拟机进程,和Linux中ps
类似,列出名称和进程唯一ID
-q
:只输处ID,忽略名字-m
:输出进程启动时传递给main()的参数-l
:输出主类全名-v
:出书进行启动时的JVM参数
1 | PS C:\Program Files\Java\jdk1.8.0_201\bin> jps -l |
jstat
JVM Statistics Monitoring Tool,收集虚拟机的类装载、内存、垃圾收集、JIT编译等运行数据,命令格式jstat -option -id -interval -count
,option
表示查询信息类型,id
表示查询进程,interval
表示查询间隔,count
表示查询次数
-class
:监视类装载、卸载数量和字节数以及所花费的时间-gc
:监视堆状况,包括Eden区、两个survivor区,老年代、永久代等容量、已用空间、GC时间合计等-gcnew
:新生代GC状况-gcold
:老年代GC状态-compiler
:输出JIT编译过的方法、耗时等信息-printcompilation
:输出编译过的方法名称
jinfo
Configuration Info For Java,显示JVM配置信息
jmap
Memory Map for Java,生成JVM内存转储快照
jhat
JVM Heap Dump Browser,用于分析上面生成的快照,可在浏览器查看
jstack
Stack Trace for Java,显示虚拟机的线程快照