jstat –分析

jstat是一个简单的实用工具,在JDK中存在,用于提供与JVM性能相关的统计信息,例如垃圾收集,编译活动。 jstat的主要优势在于,它可以在运行JVM且无需任何先决条件的情况下动态捕获这些指标。 这是什么意思? 例如,如果要捕获与垃圾回收相关的统计信息,则需要在启动JVM之前传递以下参数:

 -Xlog:gc*:file={file-path} 

此参数将启用GC日志并将其打印在指定的文件路径中。 假设您尚未传递此参数,那么将不会生成与GC相关的统计信息。 这是jstat可以派上用场的地方。 您可以动态地连接到JVM并捕获GC,编译相关的统计信息如下所示。

如何启动jstat?

执行以下命令。 这是启动jstat的简单选项。

 jstat -gc -t 11656 10000 30 

-gc :将显示与垃圾收集相关的统计信息

自JVM启动以来的-t时间戳将被打印

11656:目标JVM进程ID

10000:每10,000毫秒(即10秒)将打印一次统计信息。

30 :将打印30次迭代的统计信息。 因此,以上选项将导致JVM打印指标300秒(即10秒x 30次迭代)。

(请注意,除了-gc之外,您还可以传递其他各种选项来生成不同的数据集。有关不同选项的更多详细信息,请参见此处 。)

由jstat生成的数据

当使用上述选项启动jstat时,将生成以下输出:

图:jstat输出

时间戳记-自目标JVM启动时间以来的时间(以秒为单位)。

S0C –幸存者0区域的容量,以KB为单位

S1C –幸存者1区域的容量,以KB为单位

S0U –幸存者0区域使用的空间以KB为单位

S1U –幸存者1区域以KB为单位使用空间

EC –伊甸园地区容量(KB)

欧盟–伊甸园地区的已利用空间(以KB为单位)

OC –旧区域容量(KB)

OU –旧区域的已利用空间,以KB为单位

MC –元空间区域容量(KB)

MU –元空间区域以KB为单位的使用空间

CCSC –压缩类空间区域的容量,以KB为单位

CCSU –压缩类空间区域以KB为单位使用空间

YGC –迄今为止发生的年轻GC事件的数量

YGCT –到目前为止,年轻GC花费的时间

FGC –迄今为止已发生的完全GC事件的数量

FGCT –到目前为止已花费的完整GC时间

GCT –到目前为止所花费的GC时间总量(基本上是YGCT + FGCT)

如何解释jstat输出?

配备了此信息后,让我们尝试解释上述示例中jstat工具打印的第一行:

图:jstat输出的第一行
时间戳记

自JVM启动以来的时间(以秒为单位)

= 164.9秒
年轻一代的能力

青年一代由幸存者0,幸存者1,伊甸园地区组成。因此,容量为:

S0C + S1C + EC

= 116224.0 + 116224.0 + 116736.0

= 349184 kb

= 341 mb

年轻一代利用尺寸

S0U + S1U +欧盟

= 0 + 1520 + 68761.8

= 70281.8 kb

= 68.63 mb

老一代容量 超频 = 431616 kb

= 421.5 mb

老一代利用尺寸

OU

= 280502.5 kb

= 273.93兆字节

元空间容量 MC

= 32384 kb

= 31.62 mb

元空间利用的大小 = 31155.5 kb

= 30.42mb

年轻GC计数

青年会

= 29

在Young GC中花费的时间 青年会

= 0.836秒

在GC中花费的总时间 GCT = 2.27秒

分析jstat输出的工具

jstat的挑战之一是您需要手动分析生成的统计信息。 正如您看到的那样,仅了解/解释一行内容将花费很长时间,这将很繁琐。 您可以使用GCeasy工具,该工具可以解析jstat输出并生成有见地的图形和指标。 这是GCeasy通过分析上述jstat输出生成的jstat分析报告 。

jstat的局限性

jstat有某些限制:

(一个)。 jstat没有提供有关GC活动的丰富详细信息。 它仅提供足够的信息。 来自jstat的示例,您将不知道:

  1. 如果一次采样中报告了多个GC事件 ,我们将不知道每个GC事件的暂停时间是多少。
  2. 用户(即Java层),Sys(即内核)和用户花费了多少时间
  3. 有多少个GC线程正在工作,并占用了多少时间?
  4. 一个GC事件具有几个子阶段(例如初始标记,清理,备注,并发标记……)。 信息分类不可用。
  5. 每个GC事件回收了多少字节

(b)。 有时,jstat报告的数据也会产生误导 。

如果您想进行准确的GC分析,GC日志是更可靠的方法。

翻译自: https://www.javacodegeeks.com/2019/11/jstat-analysis.html

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

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

相关文章

微软电脑适合什么人用_#微软surface pro使用心得# 大学生挑电脑参考/平板与电脑二合一到底买的是什么...

surface pro6 使用一年体验。可以作为如果要买pro7 的一个参考。(全是我个人的使用体验与心得,非科普与专业,问我专业的问了我也不知道怎么回答)(pro7更加具体的可以去B站看大佬们的开箱)以下是我的个人想法…

et超排真正免狗能用版 真正好用的东西_真正合格小户型,收纳都特别能“装”...

原标题:真正合格小户型,收纳都特别能“装”说起来,小户型的生活在近些年来才流行起来,毕竟,房价的日益升高,想在城市有个家的青年们,只能选择小户型。其实,房子虽小,收纳…

苹果电脑怎么投屏到电视_tcl电视怎么投屏

除了看电视,现在的智能电视产品还支持手机投屏功能,如果在使用TCL电视,可以借助第三方软件实现手机投屏的功能,下面就为大家介绍一下,tcl电视怎么投屏。tcl电视怎么投屏步骤1、打开电视自带的应用商店。步骤2、搜索LBT…

sap tcode 功能对照表_Python for Ev3练习amp;Minstorms对照表02

大家好。我是欧文今天给大家分享python for Ev3的练习代码以及python中对应的Ev3Minstorms软件模块对照表。这个练习题都相对基础。主要是用来练习用的。给大家分享的代码也是比较简单的,不过实现方法都是不唯一的。主要的目的是练习和学习。练习代码如下&#xff1…

大楼通信综合布线系统_某办公大楼综合布线系统设计实例,小白可以借鉴一下,大神请绕路...

xxx办公大楼综合布线系统是一个包括内部数据语音通信、外线电话线路接入管理系统、办公用强电电气配电系统、电缆电视系统等内部的复合布线系统,在会议室还有一个小型的供音响系统设备使用的专用布线系统。各子系统的基本情况及主功能如下:强电配电系统&…

代码逻辑分析_双11模块79.34%的前端代码是怎样智能生成的?

作者|妙净、波本最近几年,AI 渗透到开发领域的方方面面。在前端领域,设计稿生成代码(简称 D2C)就是一个例子。其目标在于通过 AI 助力前端提效升级,杜绝简单重复性的工作内容。今年“双十一”,阿里的 D2C 覆盖了天猫淘…

项目织机

为什么为什么? Java 8流背后的驱动程序之一是并发编程。 在流管道中,指定要完成的工作,然后任务将自动分发到可用处理器上: var result myData.parallelStream().map(someBusyOperation).reduce(someAssociativeBinOp).orElse(…

java mybatis 教程_(整理)MyBatis入门教程(一)

本文转载:本人文笔不行,根据上面博客内容引导,自己整理了一些东西首先给大家推荐几个网页:MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBa…

2020版北大中文核心期刊目录_收藏备用最新版:《中文核心期刊要目总览》北大中文核心期刊目录...

《中文核心期刊要目总览》是学术界对某类期刊的定义,一种期刊等级的划分。它的对象是,中文学术期刊,是根据期刊影响因子等诸多因素所划分的期刊。中文核心期刊是北京大学图书馆联合众多学术界权威专家鉴定,目前受到了学术界的广泛…

java中多个输入框搜索_如何在一个搜索框中输入多个字段的值进行查询?

搜索export default {data() {return {input: ,//用来接受input框的值name:,// 用来存储foreach的对应的值id:,// 用来存储foreach的对应的值dq:// 用来存储foreach的对应的值}},methods:{submit(){console.log(this.input);// 打印let str this.input;// 声明变量接受input的…

fedora如何隐藏顶部状态栏_藏在 iOS 13 里的 9 个隐藏小技巧

正文共:1797字 10图1.从控制中心直接选择无线网络和蓝牙配件苹果首次在 iOS 7 中加入了控制中心,允许用户进行一些快速操作,例如打开/关闭飞行模式、打开/关闭蜂窝网络、打开/关闭 Wi-Fi 等。但很多控制都只停留在一级菜单,你只能…

java的封装性的优点_18、Java的三大特性之封装

Java的三大特性java是一个面向对象的语言,所以java也有面向对象语言的三大特性:继承,封装,多态,任何一个java项目,都会用到这三种特性,所以掌握好这三大特性非常的重要。封装我们为什么要使用封…

groovy 字符串截取最后一个_Java基础篇——字符串详解

字符串的声明字符串是内存中连续排列的0个或多个字符。不变字符串是指字符串一旦创建,其内容就不能改变,Java中使用String类来处理不变字符串,在对String类的实例进行查找、比较、拼接等操作时,既不能输入新字符,又不能…

java中链式调用_Java及Android中常用链式调用写法简单示例

本文实例讲述了Java及Android中常用链式调用写法。分享给大家供大家参考,具体如下:最近发现,目前大火的许多开源框架中,大多都使用了一种"(方法).(方法).(方法)"的形式进行调用,最典型的就是RxJava。android…

C什么k什么_K线图基础知识丨什么是K线散兵坑形态?K线散兵坑形态的操作与案例详解...

本文总共999字,预计阅读需要3分钟今天我们给大家带来的是K线散兵坑形态,那么K线散兵坑形态应该怎么来操作呢?今天我们就结合相应的实战案例来为大家讲解一下吧。K线散兵坑形态的简介散兵坑是指在股价缓慢上涨过程中.成交量也逐渐放大&#xf…

support v4官方下载_掌心长兴客户端下载-掌心长兴ap下载v4.1.4 安卓官方版

掌心长兴app是一款为广大用户开发的新闻资讯软件。在这里用户可以清晰的了解今日热点新闻,最新新闻直播电台应有尽有!让你全方面了解周边新鲜事!还有各种常用功能的代办查询服务。有需要的用户,欢迎现在下载体验哦掌心长兴客户端介…

javafx 调用java_Java验证(javafx)

javafx 调用java验证是核心javafx框架所缺少的一件事。 为了弥补这一空白, controlsfx中已经存在一个第三方验证库 。 但是,我有一个问题:它不是在考虑FXML的情况下创建的。 这并不是说它不是一个很好的库,只是错过了这个细节&…

win10分辨率不能调整_Win10系统分辨率不能修改怎么办?屏幕分辨率的调节方法...

Win10系统电脑屏幕分辨率无法调节怎么办?电脑屏幕分辨率不能修改怎么办?近日有很多用户询问电脑显示器分辨率不能修改的问题,下面就给大家分享解决方法。解决方法:1、在win10系统桌面空白处单击鼠标右键,在弹出的菜单中…

笔记本电脑电源已接通未充电_dell xps15 电源已接通 未充电 维修方法

(去年写的文章,在知乎也存一份)网上类似的文章很多,这里总结一下,这个问题按照严重程度可以分为四个层次:电源计划问题,大部分百度出来说的都是这个,实际上这个问题 等于没有问题。改…

mysql bc_正则表达式——MySQL搜索过滤

正则表达式介绍在数据库的数据过滤过程中只用WHERE子句和LIKE操作符都是对于已知值进行的不管是匹配一个还是多个值,测试大于还是小于已知值,或者检查某个范围的值,都是使用已知的值当然MySQL语句也提供了通配符百分号(%)和下划线(_)来匹配多…