JDK监控和诊断工具——jstat

JVM——8.调优工具1(jstat) 文章目录1. 使用背景2. jstat 的介绍及使用2.1 jstat -gc PID 介绍2.2 其他的 jstat命令2.3 jstat -gc PID 使用3. 关注指标及计算分析3.1 关注指标3.2 计算分析 1. 使用背景 一般来说,中大型公司都会有自己的应用监控系统,比如开源的 Zabbix、Open-Falcon、Prometheus等,也可能一些公司自己实现了监控或者告警系统;这些系统可以监控所有在线上的各种应用的运行情况,一旦发生异常(比如CPU利用率过高、FullGC频繁等)会直接通过 阅读详情

jstat命令来监视JVM统计信息。

1.常规选项

jstat generalOptions

-help显示帮助信息,-options显示静态选修列表

(base) PS C:\Users\mingsan> jstat -options
-class				#显示有关类装入器行为的统计信息。
-compiler			#显示有关 Java 热点虚拟机实时编译器行为的统计信息。
-gc					#显示有关垃圾回收堆行为的统计信息。
-gccapacity			#显示有关代数及其相应空间的容量的统计信息。
-gccause			#显示有关垃圾回收统计信息的摘要(与-gcutil相同),以及上次和当前(如果适用)垃圾回收事件的原因。
-gcnew				#显示有关新一代行为的统计信息。
-gcnewcapacity		#显示有关新一代大小及其相应空间的统计信息。
-gcold				#显示有关旧一代行为的统计信息和元空间统计信息。
-gcoldcapacity		#显示有关老一代大小的统计信息。
-gcmetacapacity		#显示有关元空间大小的统计信息。
-gcutil				#显示有关垃圾回收统计信息的摘要。
-printcompilation	#显示 Java 热点虚拟机编译方法统计信息。

2.输出选项

jstat outputOptions [-t] \[-h lines] vmid [interval [count] ]

命令说明
generalOptions单个常规命令行选项。请参 阅常规选项。
outputOptions由该选项报告的选项。一个或多个输出选项,由单个 、以及任何 、 和 选项组成。请参阅输出选项-options``statOption``-t``-h``-J
-t将时间戳列显示为输出的第一列。时间戳是自目标 JVM 开始时间以来的时间。
-h n显示每个样本(输出行)的列标题,其中为正整数。缺省值为 ,它显示第一行数据的列标题。
vmid虚拟机标识符,它是指示目标 JVM 的字符串。(本地即Java进程PID,jps可查看)
interval以指定单位、秒或毫秒 (ms) 为单位的采样间隔。默认单位为毫秒。这必须是正整数。指定后,该命令在每个时间间隔生成其输出。
count要显示的样本数。缺省值为无穷大,这将导致命令显示统计信息,直到目标 JVM 终止或命令终止。此值必须是正整数。

3.统计项和输出

常用 gcutil

3.1.class

-class:类装入器统计信息

[root@test-app1 ~]# jstat -class 6433
Loaded  Bytes  Unloaded  Bytes     Time
  9675 18459.4      198   207.4       8.07

显示说明
Loaded加载的类数量
Bytes加载的类占空间大小KB
Unloaded卸载的类数量
Bytes卸载的类占空间大小KB
Time执行类装入和卸载操作所花费的时间。
3.11.gcutil

-gcutil:垃圾回收统计信息摘要。

[root@test-app1 ~]# jstat -gcutil 6433
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT    CGC    CGCT     GCT
  0.00 100.00  29.07  84.27  96.42  88.97   7708  133.435     0    0.000    28    0.502  133.937
显示说明
s0S0利用率占当前容量的比例
s1S1利用率占当前容量的比例
EEden利用率占当前容量的比例
OOld老年区利用率占当前容量的比例
MMeta元空间利用率占当前容量的比例
CCS压缩类空间利用率
YGC年轻代GC数量
YGCT年轻代GC总耗时秒
FGCFull GC数量
FGCTFull GC总耗时秒
CGC并发GC数量
CGCT并发GC总耗时秒
GCT总垃圾回收时间秒
4.例子

lvmid6433(jps看到的pid),以250毫秒的间隔采集10次样本,显示输出 -gcutil

[root@test-app1 ~]# jstat -gcutil 6433 250 10
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT    CGC    CGCT     GCT
  0.00 100.00  24.69  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579
  0.00 100.00  28.40  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579
  0.00 100.00  32.10  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579
  0.00 100.00  36.42  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579
  0.00 100.00  40.12  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579
  0.00 100.00  44.44  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579
  0.00 100.00  48.15  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579
  0.00 100.00  51.85  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579
  0.00 100.00  55.56  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579
  0.00 100.00  59.26  86.08  96.44  88.97   7842  136.077     0    0.000    28    0.502  136.579

JVM调优 jstat 与 jstack 它能帮助你诊断挂起(hang)或响应慢的应用程序,通过展示每个线程的堆栈跟踪信息,可以分析线程的状态以及它们在做什么。是一个命令行工具,用于监控正在运行的 Java 虚拟机(JVM)的性能。输出将包含每个线程的堆栈跟踪,包括线程 ID、线程名称、线程状态以及调用栈。通过分析这些信息,你可以判断哪些线程处于阻塞状态、哪些线程持有锁、哪些线程可能造成死锁等。首先,你需要启动一个 Java 应用程序,确保你知道该应用程序的进程 ID(PID)。是你的 Java 进程的 PID。是你的 Java 进程的 PID。 阅读详情

相关推荐

得物APP破解

本文介绍了得物App(版本4.74.5)的逆向破解过程,重点分析了绕过强制更新、抓包技巧以及破解newSign参数的详细方法。首先通过断网再联网的方式绕过强制更新,然后使用SocksDroid进行抓包分析,发现首页推荐接口需要newSign参数。通过反编译定位到RequestUtils.c方法,利用Frida进行Hook验证,最终解析出newSign的生成逻辑:将请求参数加入固定字段后排序拼接,再进行MD5加密生成签名。文中提供了完整的Hook脚本和签名算法分析,仅供学习移动安全技术参考。

m0_74653634的博客 3476

JDK 常用工具 —— jstat 详解

jstack 详解

lly__lly的博客 1547

Windows 11下manage-bde命令实战:BitLocker锁了别慌,手把手教你用命令行找回数据

本文详细介绍了在Windows 11系统下使用manage-bde命令解锁BitLocker加密驱动器的实战方法。通过命令行诊断、恢复密钥获取、解锁流程演示及高级故障排除,帮助用户在系统锁定后快速找回数据,特别适合IT技术人员和遇到紧急情况的用户。

weixin_30902251的博客 328

java-JDK11“ jstat -gc”中“ CGC”和“ CGCT”是什么意思?

有两个项目,分别称为CGC和CGCT.我找不到描述其含义的文档和手册页. # jstat -gc 139934 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT CGC C...

weixin_44109689的博客 6483

晶晨S905L3S/S905L3SB芯片刷机实战:BL加载工具与线刷固件全解析

本文针对晶晨S905L3S/S905L3SB芯片电视盒子刷机时常见的2%失败问题,提供了两种核心解决方案。一是使用已集成特殊通信协议的专用版USB Burning Tool(如V2.2.5/V2.2.7),二是采用旧版工具配合独立的BootLoader加载工具。文章详细解析了两种方案的原理、操作步骤、固件选择及常见问题排查,旨在帮助用户成功完成刷机,让老旧设备焕发新生。

weixin_29238147的博客 1107

Matlab实战:用卡尔曼滤波搞定无人机GPS轨迹优化(附完整代码)

本文详细介绍了如何使用Matlab实现卡尔曼滤波(KF)算法优化无人机GPS轨迹,提供完整代码和工程实践指南。通过线性卡尔曼滤波技术,有效降低定位噪声,提升轨迹平滑度,适用于无人机导航和控制系统开发。

weixin_29061425的博客 253

Java的jstat命令使用详解

jstat命令简介 jstat(Java Virtual Machine Statistics Monitoring Tool)是JDK提供的一个可以监控Java虚拟机各种运行状态信息的命令行工具。它可以显示Java虚拟机中的类加载、内存、垃圾收集、即时编译等运行状态的信息。 jstat命令参数 命令语法: jstat generalOptions jstat outputOptions [-t] [-h<lines>] <vmid> [<interval> [<c

万猫学社 5575

Type-c超声波切割刀

接下来,我将提供Type-C超声波切割刀项目的C代码实现示例,代码将按照上述分层架构和模块化设计进行组织。为了达到3000行以上的代码量,我将尽可能详细地实现各个模块的功能,并添加必要的注释和错误处理。通过采用分层架构和模块化设计,我们可以建立一个可靠、高效、可扩展的系统平台,为产品的成功奠定坚实的基础。实际项目中,需要更详细的硬件驱动、更完善的功能模块、更严格的测试验证和更周全的维护升级计划。针对Type-C超声波切割刀这个项目,我将从以下几个方面详细阐述最适合的代码设计架构,并提供具体的C代码实现。

lianmengde的博客 1189

JVM性能调优

1、JVM调优目标:使用较小的内存占用来获得较高的吞吐量或者较低的延迟。 程序在上线前的测试或运行中有时会出现一些大大小小的JVM问题,比如cpu load过高、请求延迟、tps降低等,甚至出现内存泄漏(每次垃圾收集使用的时间越来越长,垃圾收集频率越来越高,每次垃圾收集清理掉的垃圾数据越来越少)、内存溢出导致系统崩溃,因此需要对JVM进行调优,使得程序在正常运行的前提下,获得更高的用户体验和运行效率。 这里有几个比较重要的指标: 内存占用:程序正常运行需要的内存大小。 延迟:由于垃圾收集而引起的程序

BigManing的博客 398

【具身智能】感知 × 决策 × 执行:一个智能体的认知闭环怎么搭?

构建一个真正能在现实世界中运作的具身智能体,并不是简单地拼接“视觉 + 控制器 + 动作模块”就能完成的,它必须是一个**认知闭环结构**:能感知环境、理解状态、制定策略、执行动作,并从结果中学习反馈。 本讲将深入剖析具身智能的三大核心支柱:**感知系统、决策系统、执行系统**,并解析它们如何协同构建出一个“能观察、能思考、能行动”的智能体。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3261

【图像识别】基于计算机视觉实现红绿灯识别matlab代码

​ 1 简介 现如今,盲人出行依旧是一大问题.面对无处不在的红绿灯,盲人无法通过眼睛辨识红绿灯的状态,出行受阻.为了解决盲人识别红绿灯的难题,本文提出了一种基于MATLAB进行红绿灯识别的系统.对交通灯的识别主要基于对交通灯的色彩及形状特征.基于信号灯的亮度对其进行分割,提取,并设置了一种自动最优选择阈值的方法.再由HIS彩色空间的H信息识别颜色.最后根据二值化的交通灯的横坐标和纵坐标方向的投影进行形状匹配识别. 2 部分代码 clc clear all close all a=imread('m

qq_59747472的博客 2690

jstat、jmap、jstack 等都是 JDK 自带的工具,用于监控和诊断 Java 虚拟机(JVM)的运行状态

线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。除此之外,它还可以查询 finalize 执行队列、Java 堆和永久代的详细信息,如空间使用率、当前使用的是哪种收集器等。是一个多功能的工具,它可以向正在运行的 Java 虚拟机发送诊断命令请求。这个命令会输出进程 ID 为 1234 的 Java 虚拟机的线程快照信息。生成堆转储快照的效果是一样的。

2202_75747703的博客 475

前言:关于作者吴秋生博士与此书简介

博士现为田纳西大学,诺克斯维尔分校,地理系的副教授。他的研究兴趣包括地理信息科学(GIS)、遥感和环境建模。更具体地说,对应用地理空间大数据、机器学习和云计算(例如,谷歌地球引擎、微软行星计算机)来研究环境变化,特别是地表水和湿地淹没动态。吴博士是开放科学和可重复研究的倡导者。他开发了几个用于高级地理空间分析的开源软件包(例如,吴博士还在YouTube上发布了数百个有关GIS和地图绘制的视频。更多有关他的开源项目信息,请访问GitHub(查看他的YouTube频道。.....................

韩天放 6087

JDK监控和故障处理命令行工具

当JVM发生故障的时候,能应用JDK命令行工具对JVM进行监控和故障诊断是Java开发人员必备的技能之一。本篇文章将为大家带来JVM进行监控和故障诊断常用的命令行工具,如下图: 其中jps、jstat、jinfo、jmap、jhat、jstack从JDK 1.5开始就已经存在,jcmd是在JDK 1.7引入的。 1、 jps 格式:jps [参数] [远程主机名,需要远程主机开通rmi远程调用,...

chendaike的博客 1291

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

处理工具_JDK监控和故障处理命令行工具

当JVM发生故障的时候,能应用JDK命令行工具对JVM进行监控和故障诊断是Java开发人员必备的技能之一。本篇文章将为大家带来JVM进行监控和故障诊断常用的命令行工具,如下图:其中jps、jstat、jinfo、jmap、jhat、jstack从JDK 1.5开始就已经存在,jcmd是在JDK 1.7引入的。jps格式:jps [参数] [远程主机名,需要远程主机开通rmi远程调用,此参数为空表示...

weixin_30653755的博客 116

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jstack 线程状态分析_面试官:说说你是怎么用JDK监控和故障处理工具的吧?例如jstack...

当JVM发生故障的时候,能应用JDK命令行工具对JVM进行监控和故障诊断是Java开发人员必备的技能之一。本篇文章将为大家带来JVM进行监控和故障诊断常用的命令行工具,如下图:其中jps、jstat、jinfo、jmap、jhat、jstack从JDK 1.5开始就已经存在,jcmd是在JDK 1.7引入的。jps格式:jps [参数] [远程主机名,需要远程主机开通rmi远程调用,此参数为空表示...

weixin_33716865的博客 207

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JVM性能监控与调优

命令行工具 jps:查看正在运行的线程 jstat:查看JVM统计信息 jinfo:实时查看和修改JVM配置参数 jmap:导出内存映像文件和内存使用情况 jstack:打印JVM中线程快照 jstatd:远程主机信息收集 JVM监控及诊断工具 jdk自带 jconsole:JDK自带的可视化监控工具 VisualVM:JDK自带的可视化监视工具,位于JDK的bin目录下。它提供了一个可视界面,用于查看JVM上运行的基于Java技术的应用程序的详细信息。 JMC:Java Mission Contro

weixin_37711738的博客 269

jvm 性能调优工具之 jstat 命令详解

Jstat名称:Java Virtual Machine statistics monitoring tool 官方文档: https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html 功能描述: Jstat是JDK自带的一个轻量级小工具。它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。 命令用法:jstat [-命令选

javalingyu的博客 3万+

JDK 监控和故障处理工具

JDK 监控和故障处理工具总结 JDK 命令行工具 这些命令在 JDK 安装目录下的 bin 目录下: jps (JVM Process Status): 类似 UNIX 的 ps 命令。用户查看所有 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息; jstat( JVM Statistics Monitoring Tool): 用于收集 HotSpot 虚拟机各方面的运行数据; jinfo (Configuration Info for Java)

XZSJ_Front的博客 2695

一文讲解JDK自带监控工具查看 JVM 情况

本文主要介绍:常用的JDK 自带监控工具

weixin_54828627的博客 2080

Java性能调优:JDK诊断工具实战指南

Java虚拟机(JVM)性能诊断是保障系统稳定运行的关键技术,其核心在于实时监控和精准分析。通过JPDA架构,JDK提供了一套完整的诊断工具链,包括jstat实时监控GC状态、jmap分析内存分布、jstack追踪线程阻塞等命令行工具,以及JConsole、VisualVM等可视化方案。这些工具基于JVM TI接口实现安全attach,能够在不重启服务的情况下获取运行时数据。在生产环境中,合理使用这些工具可以快速定位内存泄漏、线程死锁等典型问题,配合自动化脚本更能实现分钟级故障诊断。对于电商、金融等高并发场

weixin_33690963的博客 504

常用的JDK调优&监控工具整理

VisualVM 是一款免费的性能分析工具。它通过 jvmstat、JMX、SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态的性能分析。同时,它能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分析的精度。

不会骑摩托的程序员不是好的摄影师 2831

JDK监控和故障处理工具

前言       Sun公司声明这些jdk的命令行工具为:“没有技术支持并且是实验性质的”,但事实上,这些工具都非常稳定而且功能强大,能在处理应用程序性能问题、定位故障时发挥很大的作用。                   一、jps:虚拟机进程状况工具       功能:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函

fjkxyl的博客 632

JDK 监控和故障处理工具总结

文章目录JDK 命令行工具jps:查看所有 Java 进程jstat: 监视虚拟机各种运行状态信息jinfo: 实时地查看和调整虚拟机各项参数jmap:生成堆转储快照jhat: 分析 heapdump 文件jstack :生成虚拟机当前时刻的线程快照 写在前面: 我是「境里婆娑」。我还是从前那个少年,没有一丝丝改变,时间只不过是考验,种在心中信念丝毫未减,眼前这个少年,还是最初那张脸,面前再多艰险不退却。 写博客的目的就是分享给大家一起学习交流,如果您对 Java感兴趣,可以关注我,我们一起学习 JDK

境里婆娑 691

jstat的用法

<br />抱歉,我也不知道这篇文章的出处了。请作者联系我,以加上引用链接  jstat的用法<br />用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。<br />Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源

liliflashfly的专栏 1262
上一篇: JDK监控和诊断工具——jconsole
下一篇: Java String底层实现详解结合JVM
编程还未
博客等级 码龄5年 4293粉丝 31原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程还未

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值