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 ...
随机推荐
- git中的常用指令名及其意义
add 添加新文件到 Git 代码仓库的索引中 $ git add filename mv 移动或重命名文件 $ git mv old-filename new-filename rm 从工作目录和 ...
- Beanstalkd(ubuntu安装)
安装Beanstalkd # apt-get install beanstalkd Unubtu 开启beanstalkd的持久化选项 #vim /etc/default/beanstalkd 把S ...
- JSP入门:介绍什么是JSP和Servlet(转)
转自:http://developer.51cto.com/art/200907/134506.htm JSP入门:什么是jsp? JSP(Java Server Pages)是由Sun Micros ...
- FreeMarker---数据类型
1.a.ftl 你好,${user},今天你的精神不错! ----------------------------- 测试if语句: <#if user=="老高"> ...
- MySQL日期函数
1.已知出生日期,求年龄 SELECT '1992-04-10' as birthday, curdate(), ( YEAR (curdate()) - YEAR ('1992-04-10')-1 ...
- ReactJS 的背景及原理
原文链接:http://www.infoq.com/cn/articles/subversion-front-end-ui-development-framework-react 在Web开发中,我们 ...
- android后台截屏实现(2)--screencap源码修改
首先找到screencap类在Android源码中的位置,/442/frameworks/base/cmds/screencap/screencap.cpp 源码如下: /* * Copyright ...
- 【IIS小技巧】将IIS Express改成可以通过ip地址访问
通过浏览器访问的是localhost,如果通过手机访问则需要用ip地址,所以要修改IIS Express的配置,允许通过ip地址访问. IIS Express的配置文件默认在C:\Users\User ...
- Transparency Tutorial with C# - Part 1
Download demo project - 4 Kb Download source - 6 Kb Download demo project - 5 Kb Download source - 6 ...
- Oracle 11g 完全卸载
停止所有Oracle 11g相关的服务 1.打开"服务"窗口 键入命令:"services.msc",回车,如下图: 2.停止所有Oracle 11g相关的服务 ...