因为以前用默认的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的垃圾收集器的更多相关文章

  1. JVM的7种垃圾收集器:主要特点 应用场景 设置参数 基本运行原理

    原文地址:https://blog.csdn.net/tjiyu/article/details/53983650 下面先来了解HotSpot虚拟机中的7种垃圾收集器:Serial.ParNew.Pa ...

  2. JVM之几种垃圾收集器简单介绍

    本文中的垃圾收集器研究背景为:HotSpot+JDK1.7 一.垃圾收集器概述 如上图所示,垃圾回收算法一共有7个,3个属于年轻代.三个属于年老代,G1属于横跨年轻代和年老代的算法. JVM会从年轻代 ...

  3. JVM系列2:垃圾收集器与内存分配策略

    垃圾收集是一个很大话题,本文也只是看了深入理解Java虚拟机总结了下垃圾收集的知识. 首先按照惯例,先上思维导图: 垃圾收集简而言之就是JVM帮我们清理掉内存区域不需要的数据.它主要负责清理堆中实例对 ...

  4. JVM中常见的垃圾收集器

    垃圾收集机制是 Java 的招牌能力,极大地提高了开发效率.如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展, Java 的垃圾收集机制仍然在不断的演进中,不同大小的设备.不同特征的应用 ...

  5. JVM系列三(垃圾收集器).

    一.概述 1. 哪些内存需要回收 上篇文章 我们介绍了 Java 内存运行时区域的各个部分,其中程序计数器.虚拟机栈.本地方法栈三个区域随线程而生,随线程而灭,在这几个区域内就不需要过多考虑回收的问题 ...

  6. 深入理解JVM,7种垃圾收集器

    本人免费整理了Java高级资料,一共30G,需要自己领取.传送门:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q 如果说收集算法是内存回收的方法论, ...

  7. JVM 第二篇:垃圾收集器以及算法

    本文内容过于硬核,建议有 Java 相关经验人士阅读. 0. 引言 一说到 JVM ,大多数人第一个想到的可能就是 GC ,今天我们就来聊一聊和 GC 关系最大的垃圾收集器以及垃圾收集算法,希望能通过 ...

  8. JVM学习笔记——GC垃圾收集器

    GC 垃圾收集器 Java 堆内存采用分代回收算法,因此 JVM 针对新生代和老年代提供了多种垃圾收集器. 1. Serial 收集器 Serial 收集器是单线程收集器,采用复制算法. 是最基本的垃 ...

  9. 【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 ...

随机推荐

  1. 8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句

    8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句 本节讨论优化用于处理WHERE子句, 例子是使用SELECT 语句,但是相同的优化 ...

  2. 组合索引leaf 数据存储

    1 Z 2 X 3 U 4 T 5 G 6 F 7 C 8 B 9 A 1 A 2 B 3 C 4 D Oracle的索引是以平衡树的方式组织存储的:保存的是索引列的值,以及该行的rowid的一部分( ...

  3. C++ Primer笔记(一):字符串、向量和数组

    3.1 命名空间 using namespace::name; using namespace::std using std::cin -- 头文件不应该包含using 3.2 类型string ge ...

  4. cf500B New Year Permutation

    B. New Year Permutation time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  5. NCPC 2015 - Problem A - Adjoin the Networks

    题目链接 : http://codeforces.com/gym/100781/attachments 题意 : 有n个编号为0-n-1的点, 给出目前已经有的边(最多n-1条), 问如何添加最少的边 ...

  6. HTML标准事件(包含HTML5)

    参考菜鸟教程链接:http://www.runoob.com/tags/ref-eventattributes.html

  7. Java使用poi包读取Excel文档

    项目需要解析Excel文档获取数据,就在网上找了一些资料,结合自己这次使用,写下心得: 1.maven项目需加入如下依赖: <dependency> <groupId>org. ...

  8. (转)How to build an Apple Push Notification provider server (tutorial)

    转自:https://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/ ...

  9. 魅蓝Note2跑分 MT6753性能究竟如何

    MT6753实力究竟如何? 采用LP工艺的MT6753实际上在性能和功耗方面并不比MT6752高,相反,同频下功耗要高1/3左右.并且其内存带宽是5.3G/s,小于MT 6752的6.4G/s 而且没 ...

  10. ASP.NET静态页生成方法(模板替换)

    本文实例讲述了ASP.NET静态页生成方法的一种简单方法,就是替换内容法. 适用场景 模板比较固定,页面替换内容较少. 基本原理 此方法中静态页生成用到的就是匹配跟替换了,首先得读取模板页的html内 ...