ParallelGC 日志详解

GC 日志相关的 JVM 参数

与 GC 日志相关的 JVM 参数有如下 8 个:

参数名参数含义
-XX:+PrintGC输出简要 GC 日志
-verbose:gc等同于 -XX:+PrintGC
-XX:+PrintGCDetails输出详细 GC 日志
-XX:+PrintGCTimeStamps输出 GC 的时间戳(以 JVM 启动到当前的总时长)
-XX:+PrintGCDateStamps输出 GC 的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
-XX:+PrintHeapAtGC在进行 GC 的前后打印出堆的信息
-XX:+PrintReferenceGC打印年轻代各个引用的数量以及时长
-Xloggc:gc.log输出 GC 日志到文件 gc.log

-XX:+PrintGC 与 -verbose:gc

虽然上面说这两个参数是等价的,但是,-verbose:gc 是一个标准的参数,而 -XX:+PrintGC 则在 JDK 9 之后被标为废弃的 (deprecated),所以建议使用 -verbose:gc 代替 -XX:+PrintGC。

使用-verbose:gc这个参数将会打开简略的 GC 日志。你可以看到这样的 GC 日志:

此参数已不再经常使用,所以不做详细解释

[GC (Allocation Failure) [PSYoungGen: 1363219K->24905K(1368576K)] , 0.0187118 secs]

-XX:+PrintGCDetails

使用这个参数后,将会打印详细的 GC 日志,它打印的内容包含了 -verbose:gc 参数打印的内容。

[GC (Allocation Failure) [PSYoungGen: 1363219K->24905K(1368576K)] 1983835K->646622K(2066944K), 0.0187118 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]

我们将上面的日志拆分开来:

  • GC 代表这次垃圾回收的类型。GC 代表发生了 Minor GC,Full GC 代表发生了 Full GC
  • Allocation Failure 简述了发生 GC 的原因。在以上例子中,是因为在年轻代中没有合适的空间导致新的对象分配失败,从而发生 GC
  • [PSYoungGen: 1363219K->24905K(1368576K)] 表明了使用的垃圾回收器、年轻代的占用量变化,和年轻代的大小,在这个例子中,年轻代的使用量从1363219KB 减少到了 24905KB
  • 1983835K->646622K(2066944K) 表明了整个堆的占用量变化,和整个堆的大小
  • [Times: user=0.05 sys=0.00, real=0.02 secs] 表示本次 GC 消耗的时间
user 代表垃圾回收器消耗的 CPU 时间
sys 代表系统调用或等待系统事件消耗的时间
real 代表应用实际停止的时间,近似于 (user + sys) / 垃圾回收器使用的线程数

-XX:+PrintGCTimeStamps

这个参数不影响日志的详细程度,在打开之后,日志中会出现从 JVM 启动到出现日志时的毫秒数,比如下面例子的 358952.455

358952.455: [GC (Allocation Failure) [PSYoungGen: 1363219K->24905K(1368576K)] 1983835K->646622K(2066944K), 0.0187118 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]

-XX:+PrintGCDateStamps

这个参数也不影响日志的详细程度,在打开之后,日志头部会加上打印日志的时间和时区,比如下面例子的 2020-11-06T05:58:40.250+0000

2020-11-06T05:58:40.250+0000: 358952.455: [GC (Allocation Failure) [PSYoungGen: 1363219K->24905K(1368576K)] 1983835K->646622K(2066944K), 0.0187118 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]

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

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

相关文章

快速构建基于Paddle Serving部署的Paddle Detection目标检测Docker镜像

快速构建基于Paddle Serving部署的Paddle Detection目标检测Docker镜像 项目介绍需要重点关注的几个文件构建cpu版本的docker构建gpu版本的docker(cuda11.2cudnn8) 阅读提示: (1)Paddle的Serving项目中,在t…

【autodl/linux配环境心得:conda/本地配cuda,cudnn及pytorch心得】-未完成

linux配环境心得:conda/本地配cuda,cudnn及pytorch心得 我们服务器遇到的大多数找不到包的问题一,服务器安装cuda和cudnn使用conda在线安装cuda和cudnn使用conda进行本地安装检查conda安装的cuda和cudnn本地直接安装cuda和cudnn方法一&#x…

强缓存和协商缓存的理解

强缓存和协商缓存是Web开发中常用的两种缓存策略 强缓存(Cache-Control和Expires):强缓存指的是在浏览器向服务器发送请求之前,直接从本地缓存中获取资源,而不去服务器验证资源是否过期。强缓存的判断依据是缓存响应头…

Ubuntu下通过python使用MySQL

参考资料 MySQL Connector/Python Developer Guidepython_mysql_tutorial 环境 Ubuntu 20.04Python 3.8.10MySQL Server 8.0.34mysql-connector-python 8.1.0 安装MySQL pip install mysql-connector-python # 注意,不要安装成 mysql-connector 了环境测试 注意…

WPF命令

在设计良好的Windows应用程序中,应用程序逻辑不应位于事件处理程序中,而应在更高层的方法中编写代码。其中的每个方法都代表单独的应用程序任务。每个任务可能依赖其他库。 使用这种设计最明显的方式是在需要的地方添加事件处理程序,并使用各…

八 动手学深度学习v2 ——卷积神经网络之卷积+填充步幅+池化

图像卷积总结 二维卷积层的核心计算是二维互相关运算。最简单的形式是,对二维输入数据和卷积核执行互相关操作,然后添加一个偏置。核矩阵和偏移是可学习的参数核矩阵大小是超参数 填充和步幅 padding和stride 填充: 在应用多层卷积时&…

Linux Debian12将本地项目上传到码云(gitee)远程仓库

一、注册码云gitee账号 这个可以参考其他教程,本文不做介绍。 gitee官网:https://gitee.com/ 二、Linux Debian12安装git 如果Linux系统没有安装git,可以使用下面命令安装git sudo apt install git 三、gitee新建仓库 我这只做测试&…

关于mysql数据文件损坏导致的mysql无法启动的问题

环境 rocky linux 9 (跟centos几乎一模一样) myqsl 8.0, 存储引擎使用innodb 问题描述 1. 服务器异常关机,重启启动后发现mysql无法连接,使用命令查看mysql状态: systemctl status mysqld 发现mysql服…

69、配置AWS服务,接收来自RTSP流的推送

基本思想:在上一篇的基础和视频教程之后,进行简单的aws服务,进行RTSP流的接收 第一步: 第二步:配置video_stream,记得选择香港节点 同时记录这个信息,后面的策略需要填充 第三步:进行策略设置 第四步:策略设置,选中右上角的创建策略 第五步、进行json填充 第六步:填…

抓取ajax加载的数据

""" https://www.duitang.com/napi/blogv2/list/by_search/?堆糖页面分析:使用Ajax加载,aferid是控制加载的图片和页面,从零开始,会提前加载下一页的Ajax数据第一页的图片是after_id从0到120,会提前…

精益创业的三个测量方法

精益创业三个测量工具【安志强趣讲282期】 趣讲大白话:没法度量就没法改进 **************************** 工具1:AB对比测试 就是产品有两个或多个版本 然后通过外部客户或内部人员评测 可以组织天使用户群:愿意参与的专业人士 工具2&#x…

微服务井喷时代,我们如何规模化运维?

随着云原生技术发展及相关技术被越来越多运用到公司生产实践当中,有两种不可逆转的趋势: 1、微服务数量越来越多。原来巨型单体服务不断被拆解成一个个微服务,在方便功能复用及高效迭代的同时,也给运维带来了不少挑战:…

磐基2.0 部署nacos集群连接磐维1.0数据库

nacos官网 https://nacos.io/zh-cn/docs/use-nacos-with-kubernetes.html Kubernetes Nacos nacos 集群架构 https://blog.csdn.net/u013716737/article/details/130966482 Nacos高可用集群搭建与使用 nacos链接pg数据库,参考 https://blog.csdn.net/longyuhome/…

大数据技术之Hadoop:MapReduce与Yarn概述(六)

目录 一、分布式计算 二、分布式资源调度 2.1 什么是分布式资源调度 2.2 yarn的架构 2.2.1 核心架构 2.2.2 辅助架构 前面我们提到了Hadoop的三大核心功能:分布式存储、分布式计算和资源调度,分别由Hadoop的三大核心组件可以担任。 即HDFS是分布式…

基于Docker从零到一实操MySql的主从复制

文章目录 一、在Docker上安装,启动MySQL查看docker是否安装成功安装mysql查看mysql镜像进入mysql后台操作docker Volume(卷)入门 MySql的主从复制1. 创建MySQL主从复制的网络2. 创建MySQL主服务器3. 创建MySQL从服务器4. 配置主从同步5.测试主…

什么是CI/CD:持续集成与持续交付?(InsCode AI 创作助手)

在现代软件开发领域,CICD(Continuous Integration and Continuous Delivery)是一种关键性的开发实践,它有助于提高软件交付的质量和效率。本文将深入探讨CICD的定义、原理和重要性,以及如何在项目中实施CICD流程。 什…

2023高教社杯数学建模E题思路代码 - 黄河水沙监测数据分析

# 1 赛题 E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响, 以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位…

在学习编程的过程中,我会记录下以下内容:

在学习编程的过程中,我会记录下以下内容: 常用代码片段:我会记录一些常用的代码片段,例如文件读写、列表操作、字符串处理等。这些代码片段可以在日常编程中快速复用,提高编码效率。 # 文件读取 with open(file.txt,…

vue + video.js 加载多种视频流(HLS、FLV、RTMP、RTSP)

起因: 由于需要在一个项目内接入多种常用的视频流,所以接触到video.js,这里就做个记录。 框架: vue2 video.js videojs-contrib-hls videojs-flvjs-es6 videojs-flash video-js.swf vue安装就不讲了,直接从项目…

软考高级架构师下篇-14面向服务架构设计理论

目录 1. 引言2. SOA的相关概念3. SOA的发展历史4. SOA的参考架构5. SOA 主要协议和规范6. SOA设计的标准要求7. SOA的作用与设计原则8. SOA的设计模式9. SOA构建与实施10. 前文回顾1. 引言 在面向服务的体系结构(Service-Oriented Architecture,SOA)中,服务的概念有了延伸…