本文为《深入理解Java虚拟机+JVM高级特性与最佳实践》(第二版)读书笔记
1 命令行工具
1.1 jps
jps (JVM Process Status Tool)显示系统内所有的正在运行的Hotspot虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID
1.1.1 jps命令格式
jps [options] [hostid]
1.1.2 jps常用选项
-q | 只输出虚拟机ID,省略主类的名称 |
---|---|
-m | 输出虚拟机进程启动时传递给主类main() 函数的参数 |
-l | 输出主类的全名,如果进程执行的是jar包,输出jar包路径 |
-v | 输出虚拟机进程启动时JVM参数 |
1.2 jstat
jstat(JVM Statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,在没有GUI图形界面,只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具
1.2.1 jstat命令格式
jstat [option vmid [interval [s|ms] [count]]]
对于命令格式中的VMID与LVMID需要特别说明一下:如果是本地虚拟机进程,VMID与
LVMID是一致的,如果是远程虚拟机进程,那VMID的格式应当是:
[protocol:][//]lvmid[@hostname[:port]/servername]
参数interval和count代表查询间隔和次数,如果省略这两个参数,说明只查询一次。 假设
需要每250毫秒查询一次进程2764垃圾收集状况,一共查询20次,那命令应当是:
jstat -gc 9527 250 20