讲解JVM的常用命令,为后面讲解JVM日志分析做准备。
往期精选(欢迎转发~~)
前言
JVM比较重要的知识,在前面三篇文章都将完了,GC日志在第一篇文章中也有所提及,这篇文章主要讲解JVM常用的命令,虽然jvm调优成熟的工具已经有很多,但是所有的工具几乎都是依赖于jdk的接口和底层的这些命令,研究这些命令的使用也让我们更能了解jvm构成和特性。
Sun JDK监控和故障处理命令有jps、jstat、jmap、jhat、jstack、jinfo,下面做一一介绍。
jps
JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。
命令格式:
jps [options] [hostid]
option参数:
-
-l : 输出主类全名或jar路径
-
-q : 只输出LVMID
-
-m : 输出JVM启动时传递给main()的参数
-
-v : 输出JVM启动时显示指定的JVM参数
示例:
82518 sun.tools.jps.Jps -l -m
69981 /Users/mengloulv/Library/Application Support/JetBrains/IntelliJIdea2020.1/plugins/idea-spring-tools/lib/server/language-server.jar
79213 org.apache.catalina.startup.Bootstrap start
79212 org.jetbrains.jps.cmdline.Launcher /Applications/IntelliJ IDEA.app/Contents/lib/asm-all-7.0.1.jar:xxx...
jstat
jstat(JVM statistics Monitoring)是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。
详见:https://docs.oracle.com/javase/7/docs/technotes/tools/share/jstat.html#gcnew_option
jstat介绍
jstat命令命令格式:
jstat [Options] vmid [interval] [count]
命令参数说明:
Options,一般使用 -gcutil 或 -gc 查看gc 情况
pid,当前运行的 java进程号
interval,间隔时间,单位为秒或者毫秒
count,打印次数,如果缺