承接上文的问题 : https://my.oschina.net/110NotFound/blog/3084898
上文提到问题的解决方案有两种:
-
设置 getMaxRequestSizeBytes 的值为 1024256 ,减少每一个消息的数组的大小,使其不会超过 HeapRegionSize 的一半大小,这个缺陷就是需要保证消息的大小必须在 1024256 字节以内。
-
调整堆内存大小为8G或以上,同时增加配置 -XX:G1HeapRegionSize=4M ,使得1M的消息数组大小小于 HeapRegionSize 的一半。
采用的最为稳妥的方案二,这样当大对象过来的时候不直接分配到老年代,而是在伊甸区,回收的时间和次数明显减少,效果显著。 如下是gc的情况:
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
0.0 28672.0 0.0 28672.0 5255168.0 921600.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 1228800.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 1478656.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 1781760.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 2101248.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 2355200.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 2678784.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 2965504.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 3309568.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 3604480.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 3891200.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 4161536.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 4505600.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 28672.0 0.0 28672.0 5255168.0 4796416.0 3104768.0 462976.5 183168.0 171928.0 21120.0 19328.0 1201 32.053 0 0.000 32.053
0.0 20480.0 0.0 20480.0 5263360.0 53248.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 290816.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 737280.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 1032192.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 1294336.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 1613824.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 1896448.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 2191360.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 2482176.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 2793472.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 3125248.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 3403776.0 3104768.0 464538.5 183168.0 171928.0 21120.0 19328.0 1202 32.077 0 0.000 32.077
0.0 20480.0 0.0 20480.0 5263360.0 3653632.0 3104768.0 464538.5 18