工作记录:新生代老年代比例错误问题

线上排查:新生代老年代比例错误问题

起因

线上一个应用频繁full gc,排查发现单pod总内存3g的情况下新生代只有200mb,很奇怪,于是到容器里查看jvm参数。

jamp -heap 1,打印

Heap Configuration:
   MinHeapFreeRatio         = 40
   MaxHeapFreeRatio         = 70
   MaxHeapSize              = 3221225472 (3072.0MB)
   NewSize                  = 261685248 (249.5625MB)
   MaxNewSize               = 261685248 (249.5625MB)
   OldSize                  = 2959540224 (2822.4375MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 268435456 (256.0MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 268435456 (256.0MB)
   G1HeapRegionSize         = 0 (0.0MB)

Heap Usage:
New Generation (Eden + 1 Survivor Space):
   capacity = 235536384 (224.625MB)
   used     = 45215760 (43.12110900878906MB)
   free     = 190320624 (181.50389099121094MB)
   19.19693222428005% used
Eden Space:
   capacity = 209387520 (199.6875MB)
   used     = 33745216 (32.18194580078125MB)
   free     = 175642304 (167.50555419921875MB)
   16.116154391627543% used
From Space:
   capacity = 26148864 (24.9375MB)
   used     = 11470544 (10.939163208007812MB)
   free     = 14678320 (13.998336791992188MB)
   43.866318628602755% used
To Space:
   capacity = 26148864 (24.9375MB)
   used     = 0 (0.0MB)
   free     = 26148864 (24.9375MB)
   0.0% used
concurrent mark-sweep generation:
   capacity = 2959540224 (2822.4375MB)
   used     = 279529808 (266.5803985595703MB)
   free     = 2680010416 (2555.8571014404297MB)
   9.445041690367646% used

NewRatio确实是2,但是新生代是224mb,老年代是2.8g,比例确实和监控一样,不符合默认的1:2配比

排查

一番排查,google“NewRatio not work”后,发现一个JDK的bug:
https://bugs.openjdk.org/browse/JDK-8153578

检查下JVM参数,确实使用了UseConcMarkSweepGC

解决

在启动参数中指定新生代GC算法-XX:+UseParNewGC后,重新发布解决
解决方式还可以在启动参数里指定-XXNewRatio=2解决,不过我们是用的指定新生代算法

版权声明:除特殊说明,博客文章均为intotw原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇