赞
踩
在k8s等容器环境中运行java服务时,如果不配置堆内存大小,默认为RAM的1/4就会浪费pod内存资源,如果使用-Xms和-Xmx配置堆内存大小,固定的数值就显得非常不灵活。
-XX:+UseContainerSupport
-XX:+UseContainerSupport是一个Java虚拟机参数,用于启用或禁用Java容器支持。当该参数设置为true时,Java虚拟机将使用容器化相关的附加配置来优化应用程序的性能和资源管理。该参数通常在运行Java应用程序时与容器化平台集成时使用。
在容器环境中,Java应用程序通常需要更好地适应与资源的交互,包括更好地处理内存、CPU和网络资源。启用UseContainerSupport参数后,Java虚拟机将执行以下操作:
总之,启用UseContainerSupport参数可以更好地适应容器化平台,并具有更好的资源管理和性能优化能力,以提高Java应用程序在容器环境中的整体效率。
-XX:InitialRAMPercentage
-XX:MaxRAMPercentage、-XX:MinRAMPercentage
基础镜像:
openjdk:8u342-jdk (8u191引入了java10+上的UseContainerSupport选项,而且是默认启用的)
cpu内存配置
注意: 建议将requests和limitsmemory大小设置为一致,因为JVM读取容器的大小采用limits
spec:
containers:
- resources:
limits:
cpu: '2'
memory: 1Gi
requests:
cpu: 100m
memory: 1Gi
启动参数设置:
-XX:InitialRAMPercentage=75.0 -XX:MaxRAMPercentage=75.0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。