K8S时代的JAVA_OPTS参数

问题

最近Spring要住到k8s的pod里面去了,导致原来的JAVA_OPTS配置方式,不能那么大开大合了。这里假设使用的Java 8.

原来的JAVA_OPTS参数:

bash 复制代码
JAVA_OPTS="-server -Xms6g -Xmx6g -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true"

新JAVA_OPTS参数

bash 复制代码
JAVA_OPTS="-server -XX:MinRAMPercentage=50.0 -XX:MaxRAMPercentage=80.0 -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true"

这里比较难以理解的是如下参数:

  • -XX:InitiatingHeapOccupancyPercent=35:这里意思但堆内存占到35%时,开始进行标记,以便触发并发GC。如果JVM支持-XX:+G1UseAdaptiveIHOP设置,就没有必要研究这个参数的设置了,但是,-XX:+G1UseAdaptiveIHOP是在JDK 9之后才支持的。
  • -XX:MinRAMPercentage=50.0 -XX:MaxRAMPercentage=80.0:这个意思比较直白,最小使用物理内存的50%,最大使用物理内存的80%。但是,这个在容器时代,需要JVM支持-XX:+UseContainerSupport设置。
  • -Djava.awt.headless=true:表示开启JVM无头模式(没有GUI),就是后台Java是一个纯后台存储,没有一点点前端的东西。如页面动态生成之类的东西。

参考:

相关推荐
小强库计算机毕业设计1 分钟前
源码分享Spring Boot + Vue3 的校园社团管理系统
java·spring boot·后端·计算机毕业设计
格子软件15 分钟前
2026年分布式GEO代理流量调度:源码级状态机防重挂实战
java·vue.js·人工智能·spring boot·分布式·vue
hj28625117 分钟前
Docker 容器化技术标准化笔记
java·笔记·docker
我是一颗柠檬28 分钟前
【Java项目技术亮点】EXPLAIN深度分析与慢查询治理
android·java·开发语言
万亿少女的梦16831 分钟前
基于Spring Boot的社区管理系统设计与实现
java·spring boot·mysql·vue·系统设计
潘正翔35 分钟前
docker基础_镜像使用
linux·运维·服务器·docker·容器·centos·devops
大气的小蜜蜂41 分钟前
领域层的服务
java·前端·数据库
agent89743 分钟前
Spring Boot 接口超时治理:从连接池、线程池到熔断限流的完整排查思路
java·spring boot·后端
Devin~Y1 小时前
抖音级短视频推荐与直播带货平台面试实战:从 Java 微服务到 RAG 智能客服全链路解析
java·spring boot·redis·spring cloud·kafka·agent·rag
帅次1 小时前
Android 高级工程师面试:Java 多线程与并发 近1年高频追问 22 题
android·java·面试