经过给项目pops-settlement 内存优化,发现一个现象就是,内存设置老年代和新生代比率:3:1
项目总大小:4G
启动参数:-Xms4g -Xmx4g -XX:PermSize=384m -XX:MaxPermSize=384m -XX:NewSize=800m -XX:MaxNewSize=800m -XX:SurvivorRatio=18 -XX:+UseParNewGC -XX:ParallelGCThreads=2 -XX:MaxTenuringThreshold=5 -XX:+CMSParallelRemarkEnabled -XX:+CMSScavengeBeforeRemark -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=60 -XX:+ScavengeBeforeFullGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=5 -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent
导致运行4天后,显现yonggc时间拉高
刚运行:
image.png
运行一天后:
image.png
运行四天后:
image.png
老年代oldgc一次也没执行过(未达到设定的阀值):
image.png经过查看其它项目发现,oldgc的执行,也会影响yonggc运行times:
image.png
老年代垃圾的回收,会影响新生代内存。
网友评论