如果一台机器上,有多个独立java程序,比如有5个独立java大型应用,只有总共32个CPU的情况下(现在普通的服务器几百个CPU了)
-XX:ParallelGCThreads=4
-XX:ConcGCThreads=2
上面总线程数不易比如(4+2)*5<32,超过这个数字,容易引起资源竞赛,反而很大程度引起jvm 垃圾回收的时候停顿过长.
-XX:MaxGCPauseMillis=300
-XX:G1HeapRegionSize=16m ,该值不适合过大,过大时候,GC的时候引起停顿时间过长.该值需要配合堆的内存大小来给值.不能过大也不能过小.
重型应用如果是jdk7后面的,jdk8前面的JVM尽量使用G1垃圾回器,其他回收器都应该被淘汰,怎么优化都是卡,只有G1还可以的.