# JDK8

-Xms20M -Xmx20M -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC

CMS 日志格式:

[GC (Allocation Failure) [ParNew: 5504K->640K(6144K), 0.0136830 secs] 5504K->1556K(19840K), 0.0137738 secs] [Times: user=0.06 sys=0.01, real=0.01 secs]

[GC (Allocation Failure) [ParNew: 6144K->544K(6144K), 0.0012950 secs] 7060K->2102K(19840K), 0.0013310 secs] [Times: user=0.01 sys=0.00, real=0.00 secs]

[GC (Allocation Failure) [ParNew: 6048K->640K(6144K), 0.0175172 secs] 7606K->4311K(19840K), 0.0176172 secs] [Times: user=0.07 sys=0.01, real=0.01 secs]

[GC (Allocation Failure) [ParNew: 6144K->640K(6144K), 0.0163793 secs] 9815K->7694K(19840K), 0.0164765 secs] [Times: user=0.10 sys=0.01, real=0.01 secs]

# ParNew:年轻代收集器 6144->640:收集前后的对比 (6144):整个年轻代容量 9815 ->7694:整个堆的情况(19840):整个堆大小

[GC (CMS Initial Mark) [1 CMS-initial-mark: 7054K(13696K)] 7806K(19840K), 0.0023289 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]

# 初始标记,STW, 7054K(13696K) 老年代使用空间、最大空间 7806K(19840K) 整个堆使用空间、最大空间

[CMS-concurrent-mark-start]

[CMS-concurrent-mark: 0.015/0.015 secs] [Times: user=0.05 sys=0.00, real=0.01 secs]

# 并发标记,这里的时间意义不大,因为是并发执行

[CMS-concurrent-preclean-start]

[CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

# //标记Card为Dirty,也称为Card Markin

[GC (CMS Final Remark) [YG occupancy: 1865 K (6144 K)][Rescan (parallel) , 0.0015431 secs][weak refs processing, 0.0000870 secs][class unloading, 0.0017562 secs][scrub symbol table, 0.0012416 secs][scrub string table, 0.0006834 secs][1 CMS-remark: 7054K(13696K)] 8919K(19840K), 0.0054720 secs] [Times: user=0.01 sys=0.01, real=0.01 secs]

# STW阶段,YG occupancy: 年轻代占用及容量

#[Rescan (parallel):STW下的存活对象标记

#weak refs processing: 弱引用处理

#class unloading: 卸载用不到的class

#scrub symbol(string) table: cleaning up symbol and string tables which hold class-level metadata and internalized string respectively

#CMS-remark: 7054K(13696K): 阶段过后的老年代占用及容量

# 8919K(19840K) : 阶段过后的堆占用及容量

[CMS-concurrent-sweep-start]

[CMS-concurrent-sweep: 0.010/0.010 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]

# 标记已经完成,进行并发清理

[CMS-concurrent-reset-start]

[CMS-concurrent-reset: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

# 重置内部结构,为下次GC做准备

@SvenAugustus(https://www.flysium.xyz/)

更多请关注微信公众号【编程不离宗】,专注于分享服务器开发与编程相关的技术干货:

在linux上gc日志详解,JVM CMS GC日志详解相关推荐

  1. Linux下通过jstat命令查看jvm的GC情况

    jstat命令可以查看堆内存各部分的使用量,以及加载类的数量.命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]  注意!!!:使用的jdk版本是jdk8. ...

  2. java 内存 开发 经验_七年开发经验详解JVM的GC 算法

    概述 GC 是 JVM 自带的功能,它能够自动回收对象,清理内存,这是 Java 语言的一大优势,但是GC绝不仅伴随着Java,相反,GC历史比Java更悠久.关于GC,我认为有四个问题需要解决: 为 ...

  3. 详解JVM和GC垃圾回收

    文章目录 JVM架构图分析 Java虚拟机运行时数据区 对象的创建方式有几种? 创建对象的过程 对象的访问定位 垃圾回收机制 如何判断一个对象是否可以回收 垃圾回收算法都有哪些? 对象分代 垃圾回收器 ...

  4. linux免安装mysql_linux上免安装版MySQL5.7.18的教程详解

    1. 下载mysql 从官网下载mysql的压缩包    mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 2 把下载的包上传到linux上,先安装下依赖包:Ubun ...

  5. JVM 详解之 CMS收集器

    1.CMS介绍 CMS是一款并发.使用标记-清理(Mark-Sweep)算法的gc,是针对老年代进行回收的GC. Mark-Sweep标记清理算法 阶段1: Mark-Sweep 标记清除阶段,先假设 ...

  6. JVM发生频繁 CMS GC,罪魁祸首是这个参数!

    了解 CMS GC 的同学,一定知道 -XX:CMSScavengeBeforeRemark 参数,它是用来开启或关闭在 CMS-remark 阶段之前的清除(Young GC)尝试. 大家都知道CM ...

  7. 一个 JVM 参数引发的频繁 CMS GC

    了解 CMS GC 的同学,一定知道 -XX:CMSScavengeBeforeRemark 参数,它是用来开启或关闭在 CMS-remark 阶段之前的清除(Young GC)尝试. 大家都知道CM ...

  8. java gc配置_JVM通用配置 以及GC日志说明

    堆空间的常用配置 -Xms -Xmx 设置堆空间的大小 推荐设置成相同 -Xmx8G -Xms8G 可以防止JVM动态调整而消耗性能 -Xss512: 设置每个线程的堆栈大小.JDK5.0以后每个线程 ...

  9. 使用Nginx在windows和linux上搭建集群

    Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 特点:反向代理 负载均衡 动静分离- 反向代理(Reverse Pro ...

最新文章

  1. Umbra 3:次世代的遮挡裁剪
  2. 进程和线程的基本概念
  3. Swift 性能相关
  4. 生信宝典Linux学习系列文章整理
  5. ubuntu mysql 5.7_Ubuntu 16.04 上安装 MySQL 5.7 教程
  6. QPainter的使用
  7. python如何制作一个工程软件_使用python制作一个解压缩软件
  8. 【verilog教程】第9篇:verilog常见问题合集
  9. Ubuntu操作系统的学习,从新手到老手的过渡
  10. 【CQF Finance Class 4 金融衍生品】
  11. lm1117稳压芯片知识总结
  12. Shell脚本变量学习_02
  13. 最详细matlab 2018a安装教程步骤.
  14. 解决 Flutter 在 iOS 模拟器中运行卡住问题
  15. 如果把小程序业务和研发管理都放到一个平台
  16. 腾讯云域名证书哪里下载_备案域名证书获取方法
  17. 团队-中国象棋游戏-设计文档
  18. 医院病历的中英文翻译,医生病历本翻译
  19. 计算机基础职中,职业高中计算机基础试卷一
  20. 在一个字符串中查找另一个字符串出现的位置

热门文章

  1. LaTeX中段落、图片、表格调整空白
  2. docker存出和载入镜像、导出和导入容器
  3. 线性代数 --- 高斯消元法的几何解释
  4. 12个真实项目实战带你玩转Java并发编程
  5. Mercury 靶机 wp
  6. 性能测试——jmeter接口测试复习——断言——响应断言
  7. html的 转义,html字符转义
  8. 展现量、点击量、点击率
  9. ios--融云即时通讯
  10. P1348 Couple number完全平方数(C/C++)