[讨论] 有同学在生产环境使用JDK7 G1 GC了嘛?

qwe1234567890 2014-07-20
RT,打算把生产环境换成jdk-7u65-linux-x64 随手换成G1 GC,请教大家的意见
RednaxelaFX 2014-07-21
在微博上宣传了一下这帖,希望能吸引到一些实际在生产环境里用过G1的人来参与讨论。

不如楼主先介绍下您打算在怎样的workload下使用G1?例如多大的Java heap,多高的内存分配速率,多大的live data set之类?
shusansheng 2014-07-21
普通系统可以试用,但是高可靠系统不要乱折腾,但有测试环境。
qwe1234567890 2014-07-21
目测在4G以上的内存,基于socket通信的项目.听大家的意见还是不折腾了。
RednaxelaFX 2014-07-21
4GB的Java heap么?这个大小可能CMS GC的表现会比G1好。还得看应用的分配行为。
RednaxelaFX 2014-07-21
shusansheng 写道
普通系统可以试用,但是高可靠系统不要乱折腾,但有测试环境。

请问有具体一些的经验可以分享不?
JDK7u里的G1GC应该还挺稳定的
liang125353769 2014-07-21
R大,我来说一下我的场景,不知道合不合适使用G1.
机身内存64G(还装了mysql),堆初始化32G,最大32G,Young区16G。PS+PO回收,系统主要做消息分发,业务过程中会产生很多实例,但是分发完马上就可以回收,所以young区设置和old区一样大。PS回收效果也很好,高峰期不到10秒一次minor GC,old区主要是由于业务相关数据缓存容易进入old区,这些是隔一段时间更新缓存,缓存大小在几十M左右,最后导致full gc。
我这个场景使用CMS,不是很好吧?CMS只能和ParNew或者Serial 配合使用,这样我的Young区回收可能就达不到最好的效果了。那G1合适么?

qwe1234567890 2014-07-21
RednaxelaFX 写道
4GB的Java heap么?这个大小可能CMS GC的表现会比G1好。还得看应用的分配行为。

恩,是的。
fh63045 2014-07-22
liang125353769 写道
R大,我来说一下我的场景,不知道合不合适使用G1.
机身内存64G(还装了mysql),堆初始化32G,最大32G,Young区16G。PS+PO回收,系统主要做消息分发,业务过程中会产生很多实例,但是分发完马上就可以回收,所以young区设置和old区一样大。PS回收效果也很好,高峰期不到10秒一次minor GC,old区主要是由于业务相关数据缓存容易进入old区,这些是隔一段时间更新缓存,缓存大小在几十M左右,最后导致full gc。
我这个场景使用CMS,不是很好吧?CMS只能和ParNew或者Serial 配合使用,这样我的Young区回收可能就达不到最好的效果了。那G1合适么?



这个场景的话G1肯定会比CMS表现更好些!
liang125353769 2014-07-22
fh63045 写道
liang125353769 写道
R大,我来说一下我的场景,不知道合不合适使用G1.
机身内存64G(还装了mysql),堆初始化32G,最大32G,Young区16G。PS+PO回收,系统主要做消息分发,业务过程中会产生很多实例,但是分发完马上就可以回收,所以young区设置和old区一样大。PS回收效果也很好,高峰期不到10秒一次minor GC,old区主要是由于业务相关数据缓存容易进入old区,这些是隔一段时间更新缓存,缓存大小在几十M左右,最后导致full gc。
我这个场景使用CMS,不是很好吧?CMS只能和ParNew或者Serial 配合使用,这样我的Young区回收可能就达不到最好的效果了。那G1合适么?



这个场景的话G1肯定会比CMS表现更好些!

CMS肯定不适合我的场景,我需要young区高吞吐量,所以用了parallel scavenge,就是不知道G1怎么样,到现在没有人来分享一下线上使用情况
Global site tag (gtag.js) - Google Analytics