加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

容器中的JVM资源该怎样被安详的限定?

发布时间:2019-01-18 06:22:10 所属栏目:站长百科 来源:运维猿
导读:媒介 Java与Docker的团结,固然更好的办理了application的封装题目。但也存在着不兼容,好比Java并不能自动的发明Docker配置的内存限定,CPU限定。 这将导致JVM不能不变处奇迹务!容器会杀死你JVM历程,而康健搜查又将拉起你的JVM历程,进而导致你监控你的po

关于OpenJ9的的具体先容你可以从这里相识更多。 对付内存操作率OpenJ9的计策是优于OpenJdk的。以下是OpenJ9的计策表格

  1. 容器内存<size> 最大Java堆巨细 
  2. 小于1 GB 50%<size> 
  3. 1 GB - 2 GB <size> - 512 MB 
  4. 大于2 GB 大于2 GB 

结论

留意:这里我们说的是容器内存限定,和物理机内存差异,

自动档

假如你想要的是,不表现的指定-Xmx,让Java历程自动的发明容器限定。

1.假如你想要的是jvm历程在容器中安详不变的运行,不被容器kill,而且你的JDK版本小于10(大于便是JDK10的版本不必要配置,参考前面的测试) 你必要特殊配置JVM参数-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap,即可担保你的Java历程不会由于内存题目被容器Kill。 虽然这个方法行使起来简朴,靠得住,弱点也很明明,资源操作率过低(参考前面的表格MaxRAMFraction=4)。

2.假如想在基本上我还想进步一些内存资源操作率,而且容器内存为1 GB - 4 GB,我提议你配置-XX:MaxRAMFraction=2,在大于8G的可以实行配置-XX:MaxRAMFraction=1(参考上表格)。

手动挡

假如你想要的是手动挡的体验,越发进一步的操作内存资源,那么你也许必要回得手动设置期间-Xmx。 手动挡部门,请可以完全忽略上面我的BB。

1.上面的我们说到了自动挡的设置,用起来很简朴很惬意,自动发明容器限定,无需担忧和思索去设置-Xmx。

2.好比你有内存1G那么我提议你的-Xmx750M,2G提议设置-Xmx1700M,4G提议设置-Xmx3500-3700M,8G提议配置-Xmx7500-7600M, 总之就是至少保存300M以上的内存留给JVM的其他内存。假如堆出格大,可以预留到1G乃至2G。

3.手动挡用起来就没有那么惬意了,虽然资源操作率相对而言就更高了。

【编辑保举】

  1. 口试中关于Java假造机(jvm)的题目看这篇就够了
  2. VMware将NSX安详引入AWS事变负载
  3. 云应用的左膀右臂:假造化和安详
  4. 技能进阶:Java假造机(JVM)运行时详解
  5. 深入详解JVM内存模子与JVM参数具体设置
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读