请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

memory pool CMS old gen

若鱼老师好:

问题:jvm告警:
图一图片描述
图二 图片描述
图三图片描述
不明白的地方:
1. 图一的两个告警之间有联系吗?看时间是同一时间,我理解的是不是老年代的告警导致了head内存的告警,这两个告警是什么意思啊,是不是已提交老年代已达到最大值,那这个已提交老年代是什么概念啊。
2. 图二左下角的三个指标之间的逻辑关系是什么样的,尤其是commited与useed之间的关系是什么样的?
3. 图三的“问题表现形式”中的公式是不是指已提交老年代已达到最大值,那这个已提交老年代是什么概念啊。
4. 图一的两个告警已经持续11个月了,应该怎么优化一下啊

请教若鱼老师给解答一下,非常感谢

正在回答

插入代码

1回答

1.mp CMS Old Gen committed: old区已经分配的内存,mem Heap Memory committed:整个堆分配的内存,应该是old区占满导致整个堆占满

2.used是实际使用的内存,committed是分配给jvm用的内存(可能还没用完),used<committed<max

3.就是说old区内存不够用了

4.增加old区内存试一下






0 回复 有任何疑惑可以回复我~
  • 提问者 qq_慕用4483748 #1
    多谢若鱼老师,能够理解了。怎么调优呢? 怎么增大老年代的内存呢?配置如下
    -server 
    -Xmx4g 
    -Xms4g 
    -Xmn512m 
    -Xss256k 
    
    -XX:PermSize=256M 
    -XX:MaxPermSize=512M 
    -XX:+DisableExplicitGC 
    -XX:+UseConcMarkSweepGC 
    -XX:+UseParNewGC
    -XX:-CMSParallelRemarkEnabled 
    -XX:CMSInitiatingOccupancyFraction=70 
    -XX:SurvivorRatio=8 
    -XX:ParallelGCThreads=8 
    -XX:CMSFullGCsBeforeCompaction=0 
    -XX:+UseCMSCompactAtFullCollection 
    
    -XX:MaxTenuringThreshold=7 
    -XX:GCTimeRatio=19 
    -Xnoclassgc 
    -XX:SoftRefLRUPolicyMSPerMB=0 
    -XX:+HeapDumpOnOutOfMemoryError 
    -XX:HeapDumpPath=/logs/java_heapdump.hprof 
    -XX:-UseSplitVerifier -
    回复 有任何疑惑可以回复我~ 2021-11-22 16:50:54
  • 提问者 qq_慕用4483748 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-11-22 18:08:23
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信