[讨论] 有同学在生产环境使用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怎么样,到现在没有人来分享一下线上使用情况 |