当前位置: 首页 > news >正文

SpringBoot项目启动的时候,指定jvm内存大小的3种方式

1. 通过命令行固定参数

在命令行中运行 Spring Boot 应用程序时,可以使用 -Xms 和 -Xmx 选项指定初始和最大堆内存大小。例如:

java -Xms512m -Xmx1024m -jar mySpringBootApp.jar

优点: 简单明了

缺点: 是写死的,不同机器配置不同,则需要手动修改启动脚本。

2.直接设置环境变量,启动脚本中使用shell变量:

第一步:设置环境变量

可以安装机器的时候,统一设置到linux 启动初始化脚本里面。

export JVM_OPTS="-Xms512m -Xmx1024m"

第二步:启动shell 命令中引用环境变量:

java $JVM_OPTS -jar mySpringBootApp.jar 

 3. 直接使用jvm支持的环境变量JAVA_TOOL_OPTIONS

export JAVA_TOOL_OPTIONS="-Xms512m -Xmx1024m"

然后直接启动 springboot 项目,不需要带任何参数,-Xms512m -Xmx1024m 会自动生效。

java  -jar mySpringBootApp.jar

优点:不用修改启动脚本

缺点: 这台机器上所有的java进程启动的时候,都会读到该相同配置,所以比较适合k8s 一个pod 只有一个java 进程的场景。 

优先级:

JAVA_TOOL_OPTIONS 参数的优先级低于命令行直接指定的 JVM 参数。如果在命令行中指定了相同的参数,命令行参数将覆盖 JAVA_TOOL_OPTIONS 中的设置。

某些旧版本的 JVM 可能不完全支持 JAVA_TOOL_OPTIONS 环境变量,建议在使用前进行验证。

4. JAVA_TOOL_OPTIONS 与 JAVA_OPTS

JAVA_TOOL_OPTIONS 是一个全局环境变量,它的参数会自动应用到所有启动的 Java 虚拟机(JVM)实例中, 它是java 官方规范中定义的

 JAVA_OPTS 是一个常用于应用服务器(如 Tomcat)或其他 Java 运行环境的环境变(非官方标准), 如果用于springboot 项目是不能直接生效的,需要在启动命令中手动拼接。

java $JAVA_OPTS -jar mySpringBootApp.jar 

 

http://www.lryc.cn/news/513848.html

相关文章:

  • 学习vue3的笔记
  • MySQL UNION
  • day21-ubuntu入门
  • 开发小工具:ping地址
  • 在 Python 中使用 ADX 进行算法交易
  • Unity 3D 从入门到精通:开启游戏开发的奇幻之旅
  • 神经网络-VggNet
  • 用AI生成PPT,告别繁琐,一键生成高效方案
  • 基于 `android.accessibilityservice` 的 Android 无障碍服务深度解析
  • UE5材质节点Frac/Fmod
  • 【微服务】【Sentinel】认识Sentinel
  • Kafka 性能提升秘籍:涵盖配置、迁移与深度巡检的综合方案
  • 小程序租赁系统构建指南与市场机会分析
  • SOME/IP 协议详解——远程过程调用(RPC)
  • C++ 设计模式:命令模式(Command Pattern)
  • 安卓/system/bin下命令中文说明(AI)
  • MATLAB程序转C# WPF,dll集成,混合编程
  • 【SpringBoot3】Spring Boot 3.0 集成 Mybatis Plus
  • nvidia_gpu_exporter 显卡监控
  • WebSocket 的封装使用
  • SqlSession的线程安全问题源码分析
  • Java 8 及经典面试题全解析
  • MySQL:安装配置(完整教程)
  • Java - 日志体系_Apache Commons Logging(JCL)日志接口库_桥接Logback 及 源码分析
  • 高性能网络框架--fstack
  • Unity Mesh生成Cube
  • 2、pycharm常用快捷命令和配置【持续更新中】
  • Go语言方法和接收器类型详解
  • Flutter:打包apk,详细图文介绍(一)
  • Vue.js组件开发-实现动态切换菜单简单示例