首页 > 其他分享 >怎么使用jstat命令,监控jvm运行情况? 怎么了解jvm中 full gc执行的次数,和每次执行的时间?

怎么使用jstat命令,监控jvm运行情况? 怎么了解jvm中 full gc执行的次数,和每次执行的时间?

时间:2022-11-08 14:36:13浏览次数:42  
标签:full 8.305 虚拟机 0.929 183 12.02 7.375 gc jvm

 

【命令行实操—实战流程笔记】

首先使用docker exec命令进入正在运行的,docker容器内部

[root@10-128-4-191 ~]# docker exec -it 843ab2e3a635 /bin/bash

root@843ab2e3a635:/opt/b2e# jps -l

5   blogs.jar

19512  sun.tools.jps.Jps

root@843ab2e3a635:/opt/blogs# jstat -gcutil 5

  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT  

  0.00  79.68  70.26  12.02  95.18  93.28    183    7.375     4    0.929    8.305

root@843ab2e3a635:/opt/blogs# jstat -gcutil 5 5000 5

  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT  

  0.00  79.68  91.30  12.02  95.18  93.28    183    7.375     4    0.929    8.305

  0.00  79.68  91.30  12.02  95.18  93.28    183    7.375     4    0.929    8.305

  0.00  79.68  91.45  12.02  95.18  93.28    183    7.375     4    0.929    8.305

  0.00  79.68  91.46  12.02  95.18  93.28    183    7.375     4    0.929    8.305

  0.00  79.68  91.47  12.02  95.18  93.28    183    7.375     4    0.929    8.305

 


 

 

【jps命令解析】

jps :虚拟机进程状况工具(JVM Process Status Tool),查看正在运行的虚拟机进程唯一ID, 其他的JDK工具如:jstat,需要输入它查询到的本地虚拟机唯一ID (LVMID)来确定要监控的是哪--个虚拟机进程。

JDK的很多小工具的名字都参考了UNIX命令的命名方式,jps ( JVM Process Status Tool)是其中的典型。除了名字像UNIX的ps命令之外,它的功能也和ps命令类似:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID ( LVMID, Local Virtual Machine Identifier)。 虽然功能比较单一,但它绝对是使用频率最高的JDK命令行工具,因为其他的JDK工具大多

需要输入它查询到的LVMID来确定要监控的是哪--个虚拟机进程。对于本地虚拟机进程来说,LVMID与操作系统的进程ID ( PID,Process Identifier) 是一致的,使用Windows的任务管理器或者UNIX的ps命令也可以查询到虚拟机进程的LVMID,但如果同时启动了多个虚拟机进程,无法根据进程名称定位时,那就必须依赖jps命令显示主类的功能才能区分了。

 

 

【jstat -gcutil 5 命令结果解析】

root@843ab2e3a635:/opt/blogs# jstat -gcutil 5

  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT  

  0.00  79.68  70.26  12.02  95.18  93.28    183    7.375     4    0.929    8.305

查询结果表明:这台服务器的新生代Eden区(E,表示Eden)使用了70.26%的空间,

2个Survivor区(S0、 S1,表示Survivor0、Survivor1) S0里面都是空的,S1使用了79.68%的空间,老年代(O,表示

Old)和元空间(M,表示MetaspaceSize)则分别使用了12 .02%和95.18%的空间。

 

程序运行以来共发生Minor GC (YGC,表示YoungGC) 183次,总耗时7.375秒。

发生Full GC (FGC,表示Full GC) 4次,总耗时(FGCT,表示Full GC Time)为0.929秒。

所有GC总耗时(GCT,表示GC Time)为8.305秒。

 

【jstat -gcutil 5 5000 5 命令结果解析】

root@843ab2e3a635:/opt/blogs# jstat -gcutil 5 5000 5

  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT  

  0.00  79.68  91.30  12.02  95.18  93.28    183    7.375     4    0.929    8.305

  0.00  79.68  91.30  12.02  95.18  93.28    183    7.375     4    0.929    8.305

  0.00  79.68  91.45  12.02  95.18  93.28    183    7.375     4    0.929    8.305

  0.00  79.68  91.46  12.02  95.18  93.28    183    7.375     4    0.929    8.305

  0.00  79.68  91.47  12.02  95.18  93.28    183    7.375     4    0.929    8.305

 

每间隔5秒(5000毫秒),打印一次,自jvm启动以来,虚拟机各种运行状态信息, 总共打印5次。

标签:full,8.305,虚拟机,0.929,183,12.02,7.375,gc,jvm
From: https://www.cnblogs.com/weiqinshian/p/16869604.html

相关文章