栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JVM调优参数之UseContainerSupport

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JVM调优参数之UseContainerSupport

基于Docker等容器方式运行Java应用时,容器的资源管理使用了操作系统cgroup机制,但是JVM无法感知cgroup。

也就是说在没有UseContainerSupport参数支持的JDK版本中,JVM是无法感知容器环境存在,对容器资源的限制比如内存或者cpu等都无法生效。在这种情况下,如果JVM申请的内存大于容器的内存,容器就会把当前进程kill掉,所以必须要让JVM感知到能使用的最大内存,这样可以及时进行GC。

UseContainerSupport作用 

 为了支持JVM感知cgroup的内存限制,在JDK1.8的8u91版本之后引入了默认开启的UseContainerSupport参数。

另外,由于容器内存管理方式的出现,仅仅通过Xmx、Xms参数来配置JVM中堆内存的方式无法很好地适配通过容器内存调整来管理JVM内存大小。

所以JVM还提供了MaxRAMPercentage,InitialRAMPercentage,MinRAMPercentage三个参数,这三个参数用途是指定JVM堆内存的相对容器内存的占比。通过控制容器内存大小就能实现动态控制JVM内存大小,例如容器分配4G,如果MaxRAMPercentage设置为75.0则JVM最大堆内存为4*0.75即3G,如果要提升JVM堆内存大小只需要调整容器内存即可。

一般来说MaxRAMPercentage MinRAMPercentage参数可以配置为75.0或80.0。

配置示例 
-XX:+UseContainerSupport
-XX:MaxRAMPercentage=75.0
-XX:InitialRAMPercentage=75.0
-XX:MinRAMPercentage=75.0

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/880955.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号