(JVM)java虚拟机性能监控工具

最近 再看java虚拟机这一块的知识,想总结一下关于jdk的命令行工具,供日后工作需要时查阅。

由于jdk的版本不同,有些工具的参数等会有些差异,我在书中看到的是使用的jdk1.6,而我自己电脑上使用的jdk版本是1.8

jdk的命令行工具总结:

cmd进入 JDK的bin 目录下

(一)jps(虚拟机进程状况工具)

显示指令系统内所有的HotSpot虚拟机进程

如下图,我启动了主函数MainApplication和DMCServiceApplication

可以显示虚拟机正在运行的进程,显示虚拟机执行的主函数的名称以及本地虚拟机唯一ID(LVMID),在此基础上,其他的操作可以根据ID来监控虚拟机,jps的几个参数如下:

(二)jstat(虚拟机统计信息监视工具)

用于监视虚拟机各种运行状态信息 。命令格式为:

对于本地虚拟机,vmid与LVMID一样,如果是远程虚拟机,那么vmid的格式为;

interval代表查询间隔,count代表查询次数,默认查询一次,

例如:250ms查询进程ID为:27248的垃圾收集情况,查询20次

jstat -gc 27248 250 20

jstat工具的参数如下所示:
 

jstat -gcutil 27248  进程所占空间百分比显示

E(新生代Eden区),S0,S1(Survivor),O(Old老年代),YGC(Young GC)9次,耗时0.063s,FGC(Full GC)3次,耗时0184s,

(三)jinfo(java配置信息工具)

实时查看和调整虚拟机参数。

使用jps可以查看虚拟机启动时显示指定的参数:

27248 MainApplication -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:D:\software\IntelliJ IDEA 2018.3.5\lib\idea_rt.jar=61821:D:\software\IntelliJ IDEA 2018.3.5\bin -Dfile.encoding=UTF-8

查看进程的CMSInitiatingOccupancyFraction参数值:

(四)jmap(Java内存映像工具)

用于生成堆转储快照(heapdump),具体参数如下:

 

(五)jstack(Java堆栈跟踪工具)

用于生成当前线程虚拟机当前时刻的快照,线程快照是当前虚拟机内 每一条方法正在执行的方法堆栈集合,定位线程出现长时间停顿的原因,通过jstack查看各个线程的调用堆栈,查看线程正在做些什么事情,或者正在等待什么操作。

参数如下:

jstack -l +进程ID

可视化工具:

(一)JConsole:java监视与管理平台

进入jdk/bin下,点击jconsole.exe,如下图所示:

(二)VisualVM多合一故障处理工具

注:

插件:BTrace  动态日志跟踪。在不停止当前运行程序的情况下,加入程序中本身不存在的调试代码,在排查错误时,因为缺少必要的排查信息,方法,属性等打印信息,不得不停止当前正在运行的程序,在当前程序无法停止的情况下,可以使用插件,动态插入调试代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值