JVM性能分析-jstat工具观察gc频率

news2024/11/18 1:29:04

jstat

  • jstat是java自带的工具,在bin目录下

用法

  • 语法:jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
[kq@kyyj-2 bin]$ jstat -help
Usage: jstat -help|-options
       jstat -<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 target
                Java virtual machine, typically a process id; <hostname> is
                the name of the host running the target Java virtual machine;
                and <port> is the port number for the rmiregistry on the
                target host. See the jvmstat documentation for a more complete
                description 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.

  • options 命令选项
  • -t 在打印的列加上Timestamp列,用于显示系统运行的时间
  • -h 可以在周期性数据数据的时候,可以在指定输出多少行以后输出一次表头
  • vim Virtual Machine ID( 进程的 pid)
  • interval 为刷新间隔时间 s 表示秒,ms 表示毫秒 (不带单位默认毫秒)
  • count 表示刷新次数 (不带该参数一直循环执行)
  • 例如:
# 每隔1秒执行一次  共执行20次
jstat -gcutil 10641 1000  20
options 选项:
-gc:显示垃圾回收统计信息
-class:显示类加载和卸载统计信息
-compiler:显示 JIT 编译器统计信息
-gcnew:显示新生代垃圾回收统计信息
-gcold:显示老年代垃圾回收统计信息
-gcutil:显示垃圾回收统计摘要信息。
-printcompilation:显示 JIT 编译方法列表

使用jstat工具分析gc频率

  • 使用ps -ef|grep port 先查看下应用pid
  • 查到应用进程号为 16410
  • 查询gc情况
# 每隔1秒执行一次 共执行20次
jstat -gcutil 10641 1000  20

在这里插入图片描述

  • 字段解释
S0:幸存1区当前使用比例
S1:幸存2区当前使用比例
E:伊甸园区使用比例
O:老年代使用比例
M:元数据区使用比例
CCS:压缩使用比例
YGC:年轻代垃圾回收次数 发生15次YGC 15次YGC共耗时1.45秒
YGCT:年轻代垃圾回收消耗时间(单位秒)
FGC:老年代垃圾回收次数 发生5次FGC
FGCT:老年代垃圾回收消耗时间(单位秒) 5次FCC共耗时1.545秒
GCT:垃圾回收消耗总时间(单位秒)  gc共耗时2.995秒
  • 下面一直循环打印gc情况jstat -gcutil 10641 1000
    在这里插入图片描述
  • 可以看到目前YGC 16次 FGC 5次
  • 下面一直监控gc的变化
    在这里插入图片描述
  • 通过上图可以看出
  • 伊甸园区满了之后触发YGC
  • YGC触发之后,清理伊甸园区和S0,并把为清理的对象转移到S1区
  • 继续监控gc情况
    -
  • 可以看到,YGC重复之前的动作,只不过是从S1转移到了S0
  • 正常 S0和S1有一个是空的,如果两个都被占用可能存在内存泄漏

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

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

相关文章

C++ 面向对象三大特性——继承

✅<1>主页&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;C 继承 ☂️<3>开发环境&#xff1a;Visual Studio 2022 &#x1f4ac;<4>前言&#xff1a;面向对象三大特性的&#xff0c;封装&#xff0c;继承&#xff0c;多态&#xff…

官网下载安装达芬奇18.5详细步骤

目录 一、介绍 &#xff08;一&#xff09;特色功能介绍 &#xff08;二&#xff09;版本介绍 二、下载安装教程 &#xff08;一&#xff09;达芬奇官网下载 &#xff08;二&#xff09;安装 一、介绍 &#xff08;一&#xff09;特色功能介绍 以下是达芬奇视频剪辑软件…

【UE4 RTS】11-HUD functionality Part1

前言 本篇实现了将游戏状态中的游戏时间和游戏日期通过蓝图接口的方式传递给控件蓝图&#xff0c;并且正确显示&#xff0c;另外还实现了控件蓝图界面上切换12小时和24小时制的游戏时间显示方式。 效果 步骤 一、显示游戏日期 1. 打开蓝图接口“RTS_GameTime_IF” 添加一个…

回声消除-卡尔曼滤波

卡尔曼滤波 卡尔曼滤波的设计过程中需要定义两个变量&#xff0c;一个是状态量&#xff0c;另一个是观测量 状态量 状态量是跟踪目标。将状态量记作 x n \mathbf{x}_n xn​&#xff0c;状态量的协方差矩阵记作 P n \mathbf{P}_n Pn​&#xff0c;可以由前一个时刻的状态&…

视频集中存储/云存储/磁盘阵列EasyCVR平台接入RTSP设备出现离线情况的排查

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

20天部署,支持每天上百家门店咖啡物料配送,顺丰供应链是这样做到的

走进顺丰供应链华北智能仓&#xff0c;映入眼帘是多台自如穿梭的智能搬运机器人和自动高效的分拣设备。1200平米内&#xff0c;拆零输入、分货、按订单取出……通过自动化解决方案&#xff0c;作业效率大幅提升。 这是顺丰供应链与全球仓储机器人引领者极智嘉(Geek)的又一次智…

如何快速搭建app自动化环境编写用例?

使用Airtest 作为测试开发工程师&#xff0c;快速搭建app自动化环境并编写用例可以使用Airtest解决方案来实现。Airtest是一款基于Python的全平台UI自动化测试框架&#xff0c;支持多种移动设备和模拟器&#xff0c;同时集成了丰富的图像识别和手势操作功能。 以下是使用Airt…

有理数思维导图怎么画?这种方法绘制很方便

有理数思维导图怎么画&#xff1f;为什么要绘制思维导图&#xff1f;因为它可以帮助我们更好地组织和理解信息。在数学中&#xff0c;绘制有理数思维导图也可以帮助我们更好地理解有理数的概念和性质。 有理数是我们日常生活中经常接触到的数学概念&#xff0c;包括正整数、负整…

动态内存分配及管理——C语言

目录 一、为什么存在动态内存分配 二、动态内存函数介绍 2.1 malloc 2.2 free 2.3 calloc 2.4 realloc 三、常见的动态内存错误 3.1 对NULL指针的解引用操作 3.2 对动态开辟空间的越界访问 3.3 对非动态开辟内存使用free释放 3.4 使用free释放一块动态开辟内存的一部…

AUTOSAR NvM协议栈集成方法

一、涉及的模块 Bsw&#xff1a;NvM、MemIf、Fee、Crc Mcal&#xff1a;Fls 其中一些芯片厂商的MCAL也会提供Fee模块&#xff0c;本文选择使用ETAS提供的Fee模块&#xff0c;好处是Fee的Block不需要手动配&#xff0c;在NvM中配好了Block之后&#xff0c;生成Bsw代码的同时会…

c语言——查找特定字符在字符串中出现的次数

fgets 函数用于从标准输入&#xff08;stdin&#xff09;中读取一行字符串&#xff0c; 并将其存储在指定的字符数组 str 中。 sizeof str/sizeof str[0] 是用来计算字符数组 str 的大小。 这个表达式计算的结果是字符数组 str 可以容纳的元素个数&#xff08;包括…

linux vscode 下开发

linux vscode 下开发 javajdk插件 java jdk 各种JAVA JDK的镜像分发 编程宝库 - 技术改变世界 jdk 镜像 ubuntu22.04 安装 # Linux x64 64位 jdk-8u351-linux-x64.tar.gztar -zxf jdk-8u351-linux-x64.tar.gz mv jdk1.8.0_351 jdk8/ vim ~/.profile expo…

KEY接口ESD静电保护器件:DW05D5BC-B-E和DW05MS-S

静电在我们日常生活中&#xff0c;可谓是无处不在&#xff0c;我们身上和周围环境就带有很高的静电电压。都知道&#xff0c;ESD静电放电会对电子设备带来威胁甚至损坏。为此&#xff0c;电子设备中按键部位、接口部位以及触摸屏等防静电保护措施是非常有必要的。针对按键KEY接…

Java网络编程(一)网络基础

概述 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递 网络分类 局域网(LAN) 局域网是一种在小区域内使用的,由多台计算机组成的网络,覆盖范围…

如何使用Python获取SAP Temporary key 临时密钥

什么是Sap 临时密钥&#xff1f; SAP 临时密钥是用于激活 SAP 软件的一种许可证&#xff0c;只能在有限的时间内使用。这些密钥可用于评估目的或在系统迁移期间使用。它们是临时解决方案&#xff0c;通常在一定时间后过期。 如何获取Sap Temporary keys? 临时密钥: 如果创建…

Web网页浏览器远程访问jupyter notebook服务器【内网穿透】

文章目录 前言1. Python环境安装2. Jupyter 安装3. 启动Jupyter Notebook4. 远程访问4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5. 固定公网地址 前言 Jupyter Notebook&#xff0c;它是一个交互式的数据科学和计算环境&#xff0c;支持多种编程语言&#xff0c;如…

【仿写tomcat】五、响应静态资源(访问html页面)、路由支持以及多线程改进

访问html页面 如果我们想访问html页面其实就是将本地的html文件以流的方式响应给前端即可&#xff0c;下面我们对HttpResponseServlet这个类做一些改造 package com.tomcatServer.domain;import com.tomcatServer.utils.ScanUtil;import java.io.IOException; import java.io…

全国产EtherCAT运动控制边缘控制器(二):统一的上位机API接口

上节课程我们介绍了全国产EtherCAT运动控制边缘控制器ZMC432H的硬件接口与功能&#xff0c;本节课程我们主要讲解一下正运动API函数封装原理以及自定义API封装例程。 一、功能简介 全国产EtherCAT运动控制边缘控制器ZMC432H是正运动的一款软硬件全国产自主可控&#xff0c;运…

Genoss GPT简介:使用 Genoss 模型网关实现多个LLM模型的快速切换与集成

一、前言 生成式人工智能领域的发展继续加速&#xff0c;大型语言模型 (LLM) 的用途范围不断扩大。这些用途跨越不同的领域&#xff0c;包括个人助理、文档检索以及图像和文本生成。ChatGPT 等突破性应用程序为公司进入该领域并开始使用这项技术进行构建铺平了道路。 大公司正…

SOLIDWORKS有限元分析

SOLIDWORKS是一款广泛使用的三维计算机辅助设计软件&#xff0c;同时它还具有强大的有限元分析功能。有限元分析是一种工程分析方法&#xff0c;它将复杂的实体分解成许多小的有限元素&#xff0c;以便对其进行数学建模和分析。SOLIDWORKS的有限元分析功能可以帮助工程师预测和…