jdk内置java命令 -java环境监控

自作多情 提交于 2019-12-12 21:43:25

参考: Oracle Javase8 Doc 关注Monitoring

1. jps

查询当前机器上当前用户的jvm进程的启动信息,包括pid,启动类,启动参数等相关信息

jps -lv | findstr Test
jps -lv | grep Test

查询结果

jps [ options ] [ hostid ]
options:

  • -q
          只展示JVM的进程id
  • -m
          展示main方法的参数,如果是内置JVM
  • -l
          展示main class的全路径名称
  • -v
          展示传给JVM的环境变量(启动参数)
  • -V
          只展示进程id 以及 class 名称

2. jstat

查询JVM到的运行统计数据


3. jmap

打印堆内存详情

jmap -heap 1

jmap [ options ] pid

jmap [ options ] executable core

jmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP

options:

  • no option
          当没有option被用到时,jmap会打印出指定jvm进程所有共享对象的mappings,包括所有的共享对象的起始地址,大小,以及共享对象文件的全路径。和Oracle的Solaris pmap类似;
  • -dump:[live,] format=b, file=filename
          dump整个java堆到一个hprof文件,文件名是filename;live是可选参数,如果被指定,那么只有激活(有被引用?)的对象会被dump。可以使用jat指令或者jvisualvm等其他工具来分析dump的hprof文件;
  • -finalizerinfo
          打印正在等待被回收的对象的信息;
  • -heap
          打印堆空间size以及used汇总信息;
  • -histo[:live]
          打印堆空间中每个对象的class name,数量,大小;如果指定了live参数,只有激活的对象会被打印出来;
  • -clstats
          打印jvm堆内存中的class loader统计数据,包含名称,是否active,地址,父class loader,以及装载过的class数量和大小;
  • -F
          如果jmap -heap 或者jmap -histo没有响应,可以使用这个option强制执行,live选项不支持此模式;
  • -h -help
          打印帮助选项;
  • -J$<$flag$>$
          传递flag给jmap启动的jvm;
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!