Java命令:jstat — 查看JVM的GC信息

文章目录

  • 一、简介
  • 二、常用命令
    • 1、jstat -class pid : class loader行为统计
    • 2、jstat -compiler pid : JIT编译器行为统计
    • 3、jstat -gc pid 5000 20 : 垃圾回收堆行为统计
    • 4、jstat -gccapacity pid 5000 20 : 堆内存统计
    • 5、jstat -gcutil pid 5000 20 : 总结垃圾回收统计
    • 6、jstat -gccause pid 5000 20 : 垃圾收集统计概述
    • 7、jstat -gcnew pid 5000 20 : 新生代垃圾回收统计
    • 8、jstat -gcnewcapacity pid 5000 20 : 新生代内存统计
    • 9、jstat -gcold pid 5000 20 : 老年代垃圾回收统计
    • 10、jstat -gcoldcapacity pid 5000 20 : 老年代内存统计
    • 11、jstat -gcmetacapacity pid 5000 20 : 元数据空间统计
    • 12、jstat -printcompilation pid : 编译方法统计

一、简介

jstat(JVM statistics Monitoring)命令主要是 对java应用程序的资源和性能进行实时的命令行监控,包括了对 heap size垃圾回收状况 的监控。

jstat

输出结果:

root@yzh-zabbix-server:bin #jstat
invalid argument count
Usage: jstat -help|-optionsjstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]Definitions:<option>      An option reported by the -options option<vmid>        Virtual Machine Identifier. A vmid takes the following form:<lvmid>[@<hostname>[:<port>]]Where <lvmid> is the local vm identifier for the targetJava virtual machine, typically a process id; <hostname> isthe name of the host running the target Java virtual machine;and <port> is the port number for the rmiregistry on thetarget host. See the jvmstat documentation for a more completedescription of the Virtual Machine Identifier.<lines>       Number of samples between header lines.<interval>    Sampling interval. The following forms are allowed:<n>["ms"|"s"]Where <n> is an integer and the suffix specifies the units as milliseconds("ms") or seconds("s"). The default units are "ms".<count>       Number of samples to take before terminating.-J<flag>      Pass <flag> directly to the runtime system.

命令格式:

jstat [option] vmid [interval] [count]

参数说明:

参数说明
option操作参数,我们经常使用的选项有gc、gccapacity、gcnew、gcnewcapacity、gcold、gcoldcapacity、gcmetacapacity、gcutil等。
vmidjava进程ID
interval间隔时间,单位为毫秒。
count打印次数。

option参数总览:

参数说明
classclass loader的行为统计。
compilerHotSpot JIT编译器行为统计。
gc垃圾回收堆的行为统计。
gccapacity各个垃圾回收代容量(young、old、perm)和他们相应的空间统计。
gcutil垃圾回收统计概述。
gccause垃圾收集器概述。
gcnew新生代行为统计。
gcnewcapacity新生代与其相应的内存空间的统计。
gcold老年代和永久代行为统计。
gcoldcapacity老年代行为统计
gcmetacapacity元数据区行为统计。
printcompilationHotSpot编译方法统计。

二、常用命令

1、jstat -class pid : class loader行为统计

监视类装载、卸载数量、总空间以及耗费的时间

jstat -class pid

输出结果:

Loaded  Bytes  Unloaded  Bytes     Time4995 10540.4        0     0.0       5.22

字段说明:

字段说明
Loaded加载class的数量。
Bytesclass字节大小。
Unloaded未加载class的数量。
Bytes未加载class的字节大小。
Time加载时间。

2、jstat -compiler pid : JIT编译器行为统计

输出JIT编译过的方法数量耗时等。

jstat -compiler pid

输出结果:

Compiled Failed Invalid   Time   FailedType FailedMethod3641      1       0    16.62          1 com/cloudwise/agent/deps/asm/ClassReader accept

字段说明:

字段说明
Compiled编译数量。
Failed编译失败数量。
Invalid无效数量。
Time编译耗时。
FailedType失败类型。
FailedMethod失败方法的全限定名。

3、jstat -gc pid 5000 20 : 垃圾回收堆行为统计

5秒钟打印一次,一共打印20次。

jstat -gc pid 5000 20

输出结果:

root@yzh-zabbix-server:bin #jstat -gc 3111 5000 20S0C    S1C      S0U    S1U      EC       EU        OC         OU       MC     MU      CCSC   CCSU     YGC     YGCT  FGC    FGCT     GCT   
14336.0 24576.0  0.0    0.0   50688.0  50687.9   330752.0   330634.8  55296.0 53462.8 6400.0 5925.3    178    2.226  2483   438.892  441.117
14336.0 24576.0  0.0    0.0   50688.0  50688.0   330752.0   330607.2  55296.0 53467.9 6400.0 5925.3    178    2.226  2511   443.944  446.169
14336.0 24576.0  0.0    0.0   50688.0  50686.3   330752.0   330591.4  55296.0 53467.9 6400.0 5925.3    178    2.226  2541   449.050  451.275
14336.0 24576.0  0.0    0.0   50688.0  50687.9   330752.0   330603.5  55296.0 53467.9 6400.0 5925.3    178    2.226  2569   454.029  456.255
14336.0 24576.0  0.0    0.0   50688.0  50688.0   330752.0   330607.6  55296.0 53467.9 6400.0 5925.3    178    2.226  2598   458.971  461.197

CCapacity 总容量,UUsed 已使用的容量。

字段说明:

字段说明
S0C年轻代第一个Survivor区的大小(字节)
S1C年轻代第二个Survivor区的大小(字节)
S0U年轻代第一个Survivor区的使用大小(字节)
S1U年轻代第二个Survivor区的使用大小(字节)
EC年轻代中Eden区的大小(字节)
EU年轻代中Eden区的使用大小(字节)
OC老年代大小(字节)
OU老年代使用大小(字节)
MC方法区大小(字节)
MU方法区使用大小(字节)
CCSC压缩类空间大小(字节)
CCSU压缩类空间使用大小(字节)
YGC年轻代垃圾回收次数
YGCT年轻代垃圾回收消耗时间
FGC老年代垃圾回收次数
FGCT老年代垃圾回收消耗时间
GCT垃圾回收消耗总时间

4、jstat -gccapacity pid 5000 20 : 堆内存统计

5秒钟打印一次,一共打印20次。

-gc ,不过还会输出 Java 堆各区域使用到的最大、最小空间。

jstat -gccapacity pid 5000 20

输出结果:

root@yzh-zabbix-server:bin #jstat -gccapacity 3111 5000 20NGCMN    NGCMX     NGC     S0C      S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX       MC     CCSMN    CCSMX      CCSC    YGC    FGC 10752.0 164864.0 110080.0 14336.0 24576.0  50688.0    22016.0   330752.0   330752.0   330752.0     0.0   1097728.0  55296.0   0.0    1048576.0   6400.0  178    749110752.0 164864.0 110080.0 14336.0 24576.0  50688.0    22016.0   330752.0   330752.0   330752.0     0.0   1097728.0  55296.0   0.0    1048576.0   6400.0  178    752010752.0 164864.0 110080.0 14336.0 24576.0  50688.0    22016.0   330752.0   330752.0   330752.0     0.0   1097728.0  55296.0   0.0    1048576.0   6400.0  178    7547

字段说明:

字段说明
NGCMN新生代最小容量
NGCMX新生代最大容量
NGC当前新生代容量
S0C第一个Survivor区大小
S1C第二个Survivor区的大小
ECEden区的大小
OGCMN老年代最小容量
OGCMX老年代最大容量
OGC当前老年代大小
OC当前老年代大小
MCMN最小元数据容量
MCMX最大元数据容量
MC当前元数据空间大小
CCSMN最小压缩类空间大小
CCSMX最大压缩类空间大小
CCSC当前压缩类空间大小
YGC年轻代gc次数
FGC老年代GC次数

5、jstat -gcutil pid 5000 20 : 总结垃圾回收统计

5秒钟打印一次,一共打印20次。

-gc ,不过输出的是已使用空间占总空间的百分比

jstat -gcutil pid 5000 20

输出结果:

root@yzh-zabbix-server:bin #jstat -gcutil 3111 5000 20S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   0.00   0.00 100.00  99.95  96.75  92.57  178    2.226   10172  1772.566 1774.7910.00   0.00 100.00  99.95  96.75  92.57  178    2.226   10203  1777.589 1779.8140.00   0.00 100.00  99.95  96.75  92.57  178    2.226   10234  1782.580 1784.806

字段说明:

字段说明
S0第一个Servivor区当前使用比例
S1第二个Servivor区当前使用比例
EEden区使用比例
O老年代使用比例
M元数据区使用比例
CCS压缩使用比例
YGC年轻代垃圾回收次数
FGC老年代垃圾回收次数
FGCT老年代垃圾回收消耗时间
GCT垃圾回收消耗总时间

6、jstat -gccause pid 5000 20 : 垃圾收集统计概述

5秒钟打印一次,一共打印20次。

-gcutil ,附加最近两次垃圾回收事件的原因。

jstat -gccause pid 5000 20

输出结果:

S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
0.00   0.00  35.78  19.43  97.96  95.19     20    0.176    11    0.406    0.582 Heap Inspection Initiated GC No GC

字段说明:

字段说明
S0第一个Servivor区当前使用比例
S1第二个Servivor区当前使用比例
EEden区使用比例
O老年代使用比例
M元数据区使用比例
CCS压缩使用比例
YGC年轻代垃圾回收次数
FGC老年代垃圾回收次数
FGCT老年代垃圾回收消耗时间
GCT垃圾回收消耗总时间
LGCC最近垃圾回收的原因
GCC当前垃圾回收的原因

7、jstat -gcnew pid 5000 20 : 新生代垃圾回收统计

5秒钟打印一次,一共打印20次。

jstat -gcnew pid 5000 20

输出结果:

root@yzh-zabbix-server:bin #jstat -gcnew 3111 5000 20S0C       S1C      S0U    S1U  TT  MTT    DSS      EC       EU       YGC     YGCT  
14336.0  24576.0    0.0    0.0  12  15   24576.0  50688.0  50688.0    178    2.226
14336.0  24576.0    0.0    0.0  12  15   24576.0  50688.0  50688.0    178    2.226
14336.0  24576.0    0.0    0.0  12  15   24576.0  50688.0  50688.0    178    2.226

字段说明:

字段说明
S0C第一个Survivor区大小
S1C第二个Survivor区的大小
S0U第一个Survivor区的使用大小
S1U第二个Survivor区的使用大小
TT对象在新生代存活的次数
MTT对象在新生代存活的最大次数
DSS期望的Survivor区大小
ECEden区的大小
EUEden区的使用大小
YGC年轻代垃圾回收次数
YGCT年轻代垃圾回收消耗时间

8、jstat -gcnewcapacity pid 5000 20 : 新生代内存统计

5秒钟打印一次,一共打印20次。

jstat -gcnewcapacity pid 5000 20

输出结果:

root@yzh-zabbix-server:bin #jstat -gcnewcapacity 3111 5000 20NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC 10752.0   164864.0   110080.0  54784.0  14336.0  54784.0  24576.0   163840.0    50688.0   178 1482410752.0   164864.0   110080.0  54784.0  14336.0  54784.0  24576.0   163840.0    50688.0   178 1485010752.0   164864.0   110080.0  54784.0  14336.0  54784.0  24576.0   163840.0    50688.0   178 14878

字段说明:

字段说明
NGCMN新生代最小容量
NGCMX新生代最大容量
NGC当前新生代容量
S0CMX第一个Survivor区最大大小
S0C第一个Survivor区当前大小
S1CMX第二个Survivor区最大大小
S1C第二个Survivor区当前大小
ECMXEden区最大大小
ECEden区当前大小
YGC年轻代垃圾回收次数
FGC老年代回收次数

9、jstat -gcold pid 5000 20 : 老年代垃圾回收统计

5秒钟打印一次,一共打印20次。

jstat -gcold pid 5000 20

输出结果:

root@yzh-zabbix-server:bin #jstat -gcold 3111 5000 20MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT   55552.0  53550.5   6400.0   5924.5    330752.0    330602.1    178 16635 2895.316 2897.54155552.0  53550.5   6400.0   5924.5    330752.0    330601.3    178 16665 2900.278 2902.50455552.0  53550.5   6400.0   5924.5    330752.0    330604.3    178 16693 2905.210 2907.435

字段说明:

字段说明
MC方法区大小
MU方法区使用大小
CCSC压缩类空间大小
CCSU压缩类空间使用大小
OC老年代大小
OU老年代使用大小
YGC年轻代垃圾回收次数
FGC老年代垃圾回收次数
FGCT老年代垃圾回收消耗时间
GCT垃圾回收消耗总时间

10、jstat -gcoldcapacity pid 5000 20 : 老年代内存统计

5秒钟打印一次,一共打印20次。

jstat -gcoldcapacity pid 5000 20

输出结果:

root@yzh-zabbix-server:bin #jstat -gcoldcapacity 3111 5000 20OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT   22016.0    330752.0    330752.0    330752.0   178 17810 3099.915 3102.14022016.0    330752.0    330752.0    330752.0   178 17840 3104.912 3107.13722016.0    330752.0    330752.0    330752.0   178 17870 3109.847 3112.073

字段说明:

字段说明
OGCMN老年代最小容量
OGCMX老年代最大容量
OGC当前老年代大小
OC老年代大小
YGC年轻代垃圾回收次数
FGC老年代垃圾回收次数
FGCT老年代垃圾回收消耗时间
GCT垃圾回收消耗总时间

11、jstat -gcmetacapacity pid 5000 20 : 元数据空间统计

5秒钟打印一次,一共打印20次。

jstat -gcmetacapacity pid 5000 20

输出结果:

root@yzh-zabbix-server:bin #jstat -gcmetacapacity 3111 5000 20MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT   0.0     1097728.0    55552.0    0.0     1048576.0     6400.0   178  18795  3270.543 3272.7680.0     1097728.0    55552.0    0.0     1048576.0     6400.0   178  18824  3275.425 3277.6500.0     1097728.0    55552.0    0.0     1048576.0     6400.0   178  18853  3280.369 3282.595

字段说明:

字段说明
MCMN最小元数据容量
MCMX最大元数据容量
MC当前元数据空间大小
CCSMN最小压缩类空间大小
CCSMX最大压缩类空间大小
CCSC当前压缩类空间大小
YGC年轻代垃圾回收次数
FGC老年代垃圾回收次数
FGCT老年代垃圾回收消耗时间
GCT垃圾回收消耗总时间

12、jstat -printcompilation pid : 编译方法统计

jstat -printcompilation -pid

输出结果:

Compiled  Size  Type Method3745      8    1  java/lang/Long toString

字段说明:

字段说明
Compiled被执行的编译任务的数量
Size方法字节码的字节数
Type编译类型
Method编译方法的类名和方法名。类名使用"/" 代替 “.” 作为空间分隔符. 方法名是给出类的方法名. 格式是一致于HotSpot - XX:+PrintComplation 选项



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法章节 递归、排序、⼆分查找

递归 概念与特性函数调⽤函数⾃身的编程⽅式叫做递归&#xff0c;调⽤为”递“&#xff0c;返回为”归“三个条件1. ⼀个问题的解可以分解为多个⼦问题的解&#xff1b; 2. 分解之后的⼦问题&#xff0c;除了数据规模不同&#xff0c;求解思路跟原问题相同&#xff1b; 3. 存在…

codeforces 50A-C语言解题报告

50A题目网址 解题报告-others 题目解析 1.输入n x m大小的木板,使用21大小的多米诺去填满,求最多的多米诺数目 2.通过分析把木板分为奇数和偶数的情况 1)有一边是偶数的情况: 使用2去填满 2)两个边都是奇数 奇数-1偶数 还是让木板的(奇数-1)边去和2平行,再加上 (m-1)/2(n/1)…

Java命令:jps — 查看进程信息

文章目录一、简介二、常用命令1、jps2、jps -l3、jps -q4、jps -m5、jps -v6、jps失效一、简介 JVM Process Status Tool&#xff0c;显示指定系统内所有的HotSpot虚拟机进程。 功能&#xff1a; 显示当前所有java进程pid的命令&#xff0c;我们可以通过这个命令来查看到底启…

操作系统概述 记录操作系统相关知识

操作系统 现代计算机系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口以及各种输入/输出设备构成。上面提到的这些东西都属于硬件资源&#xff0c;用户不会直接和硬件进行交互&#xff0c;计算机安装了一层软件&#xff0c;这层软件能够通过响应用户输入的…

2014年英语一作文partA

作文讲解网址 题目 Write a letter of about 100 words to the president of your university, suggesting how to improve students’ physical condition. You should include the details you think necessary. You should write neatly on the ANSWER SHEET. Do not sign…

JDK工具使用大全

文章目录一、简介一、简介 在JDK的bin目录下有很多命令行工具&#xff1a; 常用工具使用详解如下&#xff1a; Java命令&#xff1a;jps — 查看进程信息 Java命令&#xff1a;jstack — 获取线程dump信息 Java命令&#xff1a;jmap — 打印指定进程的共享对象内存映射或…

Linux进程 excel族函数的用法

介绍 使用fork创建一个进程之后&#xff0c;经常会在新进程中调用exec函数执行别的程序当前进程调用exec函数之后&#xff0c;这个进程会被完全替代换成新的程序&#xff0c;即便如此仍然是同一个进程&#xff0c;进程ID不变函数族 execl execlp execle execvp execvpe头文件 …

codeforces 118A-C语言解题报告

118A题目网址 题目解析 1.输入一个英语字符串,要求把其中的元音字母删去(元音是字母“A”、“O”、“Y”、“E”、“U”、“I”包括大小写&#xff0c;其余的是辅音),把剩余的辅音字母全部变为小写,并在每一个辅音字母之前加上一个. 如: 输入: Codeforces 输出: .c.d.f.r.c.s…

ArrayList和HashMap遍历比较

目录一、ArrayList遍历方式1、普通for循环遍历2、增强for循环遍历3、Iterator迭代器遍历4、三种方式比较二、Map遍历方式1、增强for循环 keySet() 遍历2、增强for循环 entrySet() 遍历3、Iterator keySet() 遍历4、Itorator entrySet() 遍历5、四种方式比较三、java开发手册…

C++primer 12章 动态内存和智能指针

C引入智能指针的目的 使用智能指针来管理动态分配的对象&#xff0c;当一个对象应该被释放的时候&#xff0c;指向他的智能指针确保自动释放它 内存分配 静态内存&#xff1a;局部static对象、类static数据成员、定义在任何函数之外的变量栈内存&#xff1a;定义在函数内的非…

Mac下iTerm2的安装与配置

目录一、iTerm2简介二、下载以及安装三、iTerm2主题配置四、配置Oh My Zsh1、安装方式&#xff08;1&#xff09;一键安装&#xff08;2&#xff09;手动安装3、切换zsh4、修改主题五、配置Meslo字体六、声明高亮七、自动建议填充八、iTerm2快速隐藏和显示九、iTerm2隐藏用户名…

codeforces 282A-C语言解题报告

282A题目网址 题目解析 1.第一行输入n(表示有n条语句都要执行),再输入X,X(都表示X1),–X,X–(都表示X-1),最初X0,输出X的值 2.使用字符数组去存放每一行的字符串,因为字符串,所以直接整体存入scanf("%s",c); 3.因为字符数组最后一个是’\0’去表示末尾,所以要开辟…

Java命令:jinfo — 查看进程参数

目录一、简介二、常用命令1、jinfo -flags pid : 打印当前指定java进程中已经设定的所有JVM参数信息2、jinfo -flag pid : 打印指定名称的参数3、jinfo -flag [|-] pid : 打开或关闭参数4、jinfo -sysprops pid : 打印当前java进程中设定的系统环境参数一、简介 jinfo 是 JDK …

C++primer第八章 IO库 8.1 IO类

IO库设施 istream &#xff08;输入流&#xff09;类型&#xff0c;提供输入操作。ostream &#xff08;输出流&#xff09;类型&#xff0c;提供输出操作。cin,—个 istream对象&#xff0c;从标准输入读取数据。cout, 一个ostream对象&#xff0c;向标准输出写入数据。cerr…

2014年英语一作文partB漫画作文

题目 Write an essay of 160-200 words based on the following drawing.In your essay you should describe the drawing brieflyexplain its intended meaning,give your comments 做题点 1.使用三段式,第一段:图片内容;第二段:图片暗示;第三段:写自己的评论 2.描述图片…

Spring Cloud 系列之 Nacos 配置中心

目录一、Nacos简介二、Nacos安装及配置1、环境准备2、安装包下载&#xff08;1&#xff09;源码方式&#xff08;2&#xff09;发行包方式3、启动Nacos服务4、Nacos数据库配置&#xff08;1&#xff09;MySQL数据源&#xff08;2&#xff09;初始化 MySQL 数据库&#xff08;3&…

C++primer第八章 IO库 8.2 文件输入输出

8.2文件输入输出 头文件fstream定义了三个类型来支持文件IO&#xff1a;ifstream从一个给定文件读取数据&#xff0c;ofstream向一个给定文件写入数据&#xff0c;以及fstream可以读写给定文件。在17.5.3节中&#xff08;第676页&#xff09;我们将介绍如何对同一个文件流既读…

codeforces 112A-C语言解题报告

112A题目网址 题目解析 1.输入两行字符串,不区分大小写地使用字典序去比较大小 A<B -1 A>B 1 AB 0 举例: 输入 abcdefg AbCdEfF 输出 1 2.字典序:在遇到第一个不同的字符时,比较的大小,就是字符串的大小 列举法: 1.列出所有情况 1)a[i]是大写,b[i]是小写 a[i]转换为小…

SpringBoot 集成 Nacos

目录一、前言二、Nacos集成1、引入Nacos依赖2、设置Nacos配置3、加载Nacos配置中心配置项4、Nacos集成验证5、Nacos配置中心配置项动态生效Nacos安装详见&#xff1a;Spring Cloud 系列之 Nacos 配置中心 一、前言 上一篇已经讲解了怎样安装安装、启动、配置 Nacos&#xff0c…

C++primer第八章 IO库 8.3string流

8.3string流 sstream头文件定义了三个类型来支持内存IO,这些类型可以向string写入数据,从string读取数据&#xff0c;就像string是一个IO流一样。istringstream从string读取数据&#xff0c;ostringstream向string写入数据&#xff0c;而头文件stringstream既可从string读数据…