java堆设置太大不gc_关于GC频次和堆内存大小设定

e12875349bff5e37d3120ab28c1c1572.png

如上图, 现在这个应用平均3分钟左右就GC一次,感觉太频繁了。

现在堆内存分配的是4GB,我看平均值始终没有2GB。内存是不是设置太大了?

各位,有没有好的调优的资料分享一下,先行谢过。

附上现用的启动参数:

JAVA_OPTS="-server

-Xms4096m

-Xmx4096m

-Xmn1536m

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/services/logs/xxxx/oom.hprof -XX:+UseParNewGC -XX:+UseConcMarkSweepGC

-XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+ExplicitGCInvokesConcurrent

-XX:-UseBiasedLocking -XX:+AlwaysPreTouch -XX:+CMSParallelRemarkEnabled -XX:AutoBoxCacheMax=20000

-Dwork.dir=${WORK_DIR}

-Dcom.sun.management.jmxremote.port=8550

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

-Dlogger.file=${LOG_CONF} -Dfile.encoding=UTF-8 -Duser.timezone=UTC"

java version : 1.7.0_101


版权声明:本文为weixin_42508313原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。