首页 > 其他分享 >细读JVM日志--01

细读JVM日志--01

时间:2023-04-12 21:33:18浏览次数:41  
标签:real 01 收集器 -- 0.00 secs GC 内存 JVM


七种垃圾收集器

细读JVM日志--01_内存区域

具体每一种的详情见

以下是垃圾回收日志中的一块:

0.150: [GC (System.gc()) [PSYoungGen: 5161K->931K(74752K)] 5161K->939K(245760K), 0.0007762 secs] 

[Times: user=0.00 sys=0.00, real=0.00 secs]

0.151: [Full GC (System.gc()) [PSYoungGen: 931K->0K(74752K)] [ParOldGen: 8K->781K(171008K)] 939K->781K(245760K),

[Metaspace: 3445K->3445K(1056768K)], 0.0045476 secs] 

[Times: user=0.01 sys=0.00, real=0.01 secs] 

日志解读

  • 0.150---时间戳
  • GC日志开头的“[GC 和 [Full GC” 说明了这次垃圾收集的停顿类型,而不是用来区分新生代GC还是年老代GC的。
  •  PSYoungGen, ParOldGen,PSPermGen表示GC发生的区域,这里显示的区域名称与使用的GC收集器密切相关,不同收集器对于不同区域所显示的名称可能不同。
  • PSYoungGen表示新生代的Parallel Scavenge垃圾收集器,ParOldGen表示老年代收集器为Parallel old
  • (5) 后面方括号内部的 “ 5161K->931K(74752K) ”含义是“GC前该内存区域(新生代)已使用容量 -> GC后该内存区域已使用容量(该内存区域总容量)”。方括号之外的 5161K->939K(245760K) 表示GC前java堆已使用容量 -> GC后java堆已使用容量(Java堆总容量)
  •  0.0007762 secs表示该内存区域GC所占用的时间,单位是秒。
  • [Times: user=0.00 sys=0.00, real=0.00 secs]这里面的user、sys、和real与Linux的time命令所输出的时间含义一致。分别代表用户消耗的CPU时间,内存态消耗的CPU时间,和操作从开始到结束所经过的墙钟时间。

 借用网上的两张图:

新生代的

细读JVM日志--01_内存区域_02

老年代的

 

细读JVM日志--01_java_03

细读JVM日志--01_内存区域_04

点个赞

细读JVM日志--01_Time_05

标签:real,01,收集器,--,0.00,secs,GC,内存,JVM
From: https://blog.51cto.com/u_11702014/6186267

相关文章

  • C-宏 (macro)
    定义宏(definemacro)>宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式.>>解释器或编译器在遇到宏时会自动进行这一模式替换.对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器.#define宏名(记号)内容定义和使用#define......
  • Java并发编程的艺术
    回复并发编程的艺术即可获取《Java并发编程的艺术》正是为了解决这个问题而写的。书中采用循序渐进的讲解方式,从并发编程的底层实现机制入手,逐步介绍了在设计Java并发程序时各种重要的技术、设计模式与应用,同时辅以丰富的示例代码,使得开发人员能够更快地领悟Java并发编程的要领,围绕......
  • Springboot三种启动方式
    在https://start.spring.io/上创建一个springboot工程生成的代码中的启动方式咱们暂时定义为默认方式:/***@auther:lawt*@date:2018/12/117*@Description:默认启动方式*/@SpringBootApplicationpublicclassMicroServicesSpringBootApplication{publicstaticv......
  • 浪潮信息企业级SSD:如何在PCIe生态下,提升NAND信号质量​
    近年来,随着NAND接口速率越来越高,如何保证信号高速传输下的完整性和传输速率成为NAND厂商要面对的首要问题。浪潮信息企业级SSD通过对端接和电路的技术创新,全面提升NAND信号质量。此外,凭借主要部件的创新设计,支持加密算法和标准日志接口,降低客户TCO的同时提供高运维效率等优势,助力企......
  • 数据采集——数据清洗
    数据清洗到目前为止,我们还没有处理过那些样式不规范的数据,要么是使用样式规范的数据源,要么就是彻底放弃样式不符合我们预期的数据。但是在网络数据采集中,你通常无法对采集的数据样式太挑剔。由于错误的标点符号、大小写字母不一致、断行和拼写错误等问题,零乱的数据(dirtydata)是......
  • MFC-ASSERT条件为真继续执行,条件为假中断执行
     CStringstr;inti=10;ASSERT(i==10);//条件为真继续执行,条件为假中断执行str.Format(_T("i=10为真"));::OutputDebugString(str);//ASSERT(i<10);str.Format(_T("i<10为假"));::OutputDebugString(str); ......
  • 2-面试题:python
    1、python对象的比较和拷贝?答:'=='操作符比较对象之间的值是否相等;'is'操作符比较的是对象的身份标识是否相等,即它们是否是同一个对象,是否指向同一个内存地址;比较操作符'is'的速度效率,通常优于'==';浅拷贝和深拷贝:浅拷贝,将原对象或原数组的引用直接赋值给新对象、新数组,新对象/......
  • Linux fdisk 命令
    Linuxfdisk命令此命令暂时记录,项目中经常用来挂载数据盘Linuxfdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。语法fdisk[必要参数][选择参数]必要参数:-l列出素所有分区表-u与-l搭配使用,显示分区数目选择参数:-s<......
  • 12号敲代码1小时
    实验五:实验2:#include<iostream>#include<string>usingnamespacestd;classvector3D{private:floatx,y,z;public:vector3D(floata=0,floatb=0,floatc=0):x(a),y(b),z(c){}friendistream&operator>>(istream&,vector3D&);frie......
  • threading多线程使用
    当我们调用某段代码时需要等待一段时间后才能进行后续的操作,而这期间计算资源并未占满,这就浪费了CPU的资源和时间,此时可以采用多线程进行并行计算。如当我们使用爬虫爬取网络资源时,某个资源的爬取过程由于网络因素需要等待,而后续的资源清洗和整合等需要等待,此时可以将资源分多份......