JVM试用G1的垃圾收集器
因为以前用默认的GC,,老年代经常在占比超过99%才发生一个GC行为,感觉不爽。。。尽管每次FULL GC只要0.5S。
结合上次听中华构架师大会,一哥们分享的G1 GC。。。试试。。
就在TOMCAT的catania.sh里JAVA的启动参数加一段吧。。
JAVA_OPTS=' -Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC '
JMAP输出如下啦:
jmap -heap xxxx Attaching to process ID xxx, please wait... Debugger attached successfully. Server compiler detected. JVM version is 24.0-b56 using thread-local object allocation. Garbage-First (G1) GC with 4 thread(s) Heap Configuration: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 1073741824 (1024.0MB) NewSize = 1363144 (1.2999954223632812MB) MaxNewSize = 268435456 (256.0MB) OldSize = 5452592 (5.1999969482421875MB) NewRatio = 2 SurvivorRatio = 8 PermSize = 268435456 (256.0MB) MaxPermSize = 268435456 (256.0MB) G1HeapRegionSize = 1048576 (1.0MB) Heap Usage: G1 Heap: regions = 1024 capacity = 1073741824 (1024.0MB) used = 525790240 (501.4326477050781MB) free = 547951584 (522.5673522949219MB) 48.968032002449036% used G1 Young Generation: Eden Space: regions = 108 capacity = 275775488 (263.0MB) used = 113246208 (108.0MB) free = 162529280 (155.0MB) 41.06463878326996% used Survivor Space: regions = 6 capacity = 6291456 (6.0MB) used = 6291456 (6.0MB) free = 0 (0.0MB) 100.0% used G1 Old Generation: regions = 415 capacity = 791674880 (755.0MB) used = 406252576 (387.4326477050781MB) free = 385422304 (367.5673522949219MB) 51.31558247749379% used Perm Generation: capacity = 268435456 (256.0MB) used = 65695576 (62.652183532714844MB) free = 202739880 (193.34781646728516MB) 24.473509192466736% used 35236 interned Strings occupying 3876240 bytes.
JMAP相关GC输出如下:
jstat -gc xxxx 1000 10 S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT 0.0 6144.0 0.0 6144.0 269312.0 81920.0 773120.0 396840.2 262144.0 64155.8 3579 84.690 0 0.000 84.690 0.0 6144.0 0.0 6144.0 269312.0 100352.0 773120.0 396840.2 262144.0 64155.8 3579 84.690 0 0.000 84.690 0.0 6144.0 0.0 6144.0 269312.0 120832.0 773120.0 396840.2 262144.0 64155.8 3579 84.690 0 0.000 84.690 0.0 6144.0 0.0 6144.0 269312.0 139264.0 773120.0 396840.2 262144.0 64155.8 3579 84.690 0 0.000 84.690 0.0 6144.0 0.0 6144.0 269312.0 176128.0 773120.0 396840.2 262144.0 64155.8 3579 84.690 0 0.000 84.690 0.0 6144.0 0.0 6144.0 269312.0 193536.0 773120.0 396840.2 262144.0 64155.8 3579 84.690 0 0.000 84.690 0.0 6144.0 0.0 6144.0 269312.0 211968.0 773120.0 396840.2 262144.0 64155.8 3579 84.690 0 0.000 84.690 0.0 6144.0 0.0 6144.0 269312.0 229376.0 773120.0 396840.2 262144.0 64155.8 3579 84.690 0 0.000 84.690 0.0 6144.0 0.0 6144.0 269312.0 243712.0 773120.0 400994.0 262144.0 64155.8 3579 84.690 0 0.000 84.690 0.0 8192.0 0.0 8192.0 267264.0 44032.0 773120.0 402843.3 262144.0 64155.8 3580 84.719 0 0.000 84.719
ZABBIX的输出图马上由大宝剑变成了蜿行蛇啦。。。

JVM试用G1的垃圾收集器的更多相关文章
- JVM的7种垃圾收集器:主要特点 应用场景 设置参数 基本运行原理
原文地址:https://blog.csdn.net/tjiyu/article/details/53983650 下面先来了解HotSpot虚拟机中的7种垃圾收集器:Serial.ParNew.Pa ...
- JVM之几种垃圾收集器简单介绍
本文中的垃圾收集器研究背景为:HotSpot+JDK1.7 一.垃圾收集器概述 如上图所示,垃圾回收算法一共有7个,3个属于年轻代.三个属于年老代,G1属于横跨年轻代和年老代的算法. JVM会从年轻代 ...
- JVM系列2:垃圾收集器与内存分配策略
垃圾收集是一个很大话题,本文也只是看了深入理解Java虚拟机总结了下垃圾收集的知识. 首先按照惯例,先上思维导图: 垃圾收集简而言之就是JVM帮我们清理掉内存区域不需要的数据.它主要负责清理堆中实例对 ...
- JVM中常见的垃圾收集器
垃圾收集机制是 Java 的招牌能力,极大地提高了开发效率.如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展, Java 的垃圾收集机制仍然在不断的演进中,不同大小的设备.不同特征的应用 ...
- JVM系列三(垃圾收集器).
一.概述 1. 哪些内存需要回收 上篇文章 我们介绍了 Java 内存运行时区域的各个部分,其中程序计数器.虚拟机栈.本地方法栈三个区域随线程而生,随线程而灭,在这几个区域内就不需要过多考虑回收的问题 ...
- 深入理解JVM,7种垃圾收集器
本人免费整理了Java高级资料,一共30G,需要自己领取.传送门:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q 如果说收集算法是内存回收的方法论, ...
- JVM 第二篇:垃圾收集器以及算法
本文内容过于硬核,建议有 Java 相关经验人士阅读. 0. 引言 一说到 JVM ,大多数人第一个想到的可能就是 GC ,今天我们就来聊一聊和 GC 关系最大的垃圾收集器以及垃圾收集算法,希望能通过 ...
- JVM学习笔记——GC垃圾收集器
GC 垃圾收集器 Java 堆内存采用分代回收算法,因此 JVM 针对新生代和老年代提供了多种垃圾收集器. 1. Serial 收集器 Serial 收集器是单线程收集器,采用复制算法. 是最基本的垃 ...
- 【JVM】-NO.110.JVM.1 -【GC垃圾收集器】
Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...
随机推荐
- 最全的TV视频应用合集,包含50多款客户端,有丰富直播点播
这是我目前找到的 最好的视频应用合集,与坛友分享下.有50多款视频客户端,基本覆盖目前市面上口碑比较好的视频应用了. 里面有丰富的直播客户端,像 龙龙直播.泰捷直播.果子 Tv.More Tv等,还有 ...
- 【HDOJ】2577 How to Type
DP. /* 2577 */ #include <cstdio> #include <cstring> #include <cstdlib> #define MAX ...
- 【细说Java】Java变量初始化顺序
Java的变量初始化顺序,对这里一直似懂非懂,面试的时候也经常被问到,但答的一直不好,现在整理记录一下,以后忘记了可以来看看. 程序分为两个部分,第一个部分不考虑继承,第二个部分考虑继承: (1)不考 ...
- U8800安装软件显示无效的URI问题
看到很多人遇到这个问题,其中包括我自己,最后找到可行的解决办法,现整理出来一个新帖,有同样问题的U友可以参考下. 手机先连接电脑,进入USB存储状态,然后在计算机上找到SD卡目录下的.android_ ...
- UVa 1366 - Martian Mining (dp)
本文出自 http://blog.csdn.net/shuangde800 题目链接: 点击打开链接 题目大意 给出n*m网格中每个格子的A矿和B矿数量,A矿必须由右向左运输,B矿必须由下向上运输 ...
- 最长回文字符串(manacher算法)
偶然看见了人家的博客发现这么一个问题,研究了一下午, 才发现其中的奥妙.Stupid. 题目描述: 回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串. ...
- HBase学习(十四)LINUX下用Eclipse构建HBase开发环境
Eclipse,HBase版本号眼下没有发现须要特别指定 1:从HBase集群中复制一份Hbase部署文件,放置在开发端某一文件夹下(如在/app/hadoop/hbase096文件夹下). 2:在e ...
- C程序设计的抽象思维-算法分析-大多数元素
[问题] 请编写下面函数 int MajorityElement(int array[],int n); 该函数返回数组array中的多数元素.多数元素是指在占绝对多数(至少51%)的一个值.假设多数 ...
- Qt QString to char*
QString转换成char * 的时候,一定要定义一个QBateArray的变量.不能连写 How can I convert a QString to char* and vice versa ? ...
- 在VMware中为Linux系统安装VM-Tools的详解教程
在安装Linux的虚拟机中,单击“虚拟机”菜单下的“安装Vmware-Tools”. 先介绍一下下面安装该工具时要用到的几个目录: /mnt 挂载目录,用来临时挂载别的文件系统,硬件设备 /tmp临时 ...