spring boot 常用参数总结

通用 JVM 参数

这些参数直接传递给 JVM,用于控制内存、垃圾回收等。

  • -Xms<size>: 设置初始堆大小。

  • -Xmx<size>: 设置最大堆大小。

  • -XX:+HeapDumpOnOutOfMemoryError: 在内存溢出时生成堆转储文件。

  • -XX:HeapDumpPath=<path>: 指定堆转储文件的路径。

  • -XX:+PrintGCDetails: 打印详细的垃圾回收信息。

  • -Xms :设置JVM初始堆内存大小。例如,-Xms512m表示初始堆内存为512MB。

  • -Xmx :设置JVM最大堆内存大小。例如,-Xmx1024m表示最大堆内存为1024MB。

  • -XX:MaxMetaspaceSize :设置元空间的最大大小。例如,-XX:MaxMetaspaceSize=512m表示元空间最大为512MB。

  • -XX:MetaspaceSize :设置元空间的初始大小。例如,-XX:MetaspaceSize=256m表示元空间初始大小为256MB。

  • -XX:InitialBootClassLoaderMetaspaceSize :设置引导类加载器的元空间大小。例如,-XX:InitialBootClassLoaderMetaspaceSize=64m表示引导类加载器元空间初始大小为64MB。

  • -XX:NewRatio :设置年轻代与老年代的比例。例如,-XX:NewRatio=2表示年轻代与老年代的大小比例为1:2。

  • -XX:SurvivorRatio :设置Eden区与Survivor区的比例。例如,-XX:SurvivorRatio=8表示Eden区与Survivor区的大小比例为8:1。

  • -XX:MaxTenuringThreshold :设置对象从年轻代晋升到老年代的年龄阈值。例如,-XX:MaxTenuringThreshold=6表示对象在年轻代存活6次后晋升到老年代。

  • -XX:+UseG1GC:启用G1垃圾收集器。

  • -XX:+UseConcMarkSweepGC:启用CMS垃圾收集器。

Spring Boot 特定参数

  • --server.port=<port>: 设置应用运行的端口号。
  • --spring.profiles.active=<profile>: 激活特定的 Spring Profile。
  • --logging.level.<package>=<level>: 设置特定包或类的日志级别(如 DEBUG, INFO, WARN, ERROR)。
  • --spring.config.location=<location>: 指定外部配置文件的位置。
  • --spring.datasource.url=<url>: 设置数据源 URL。
  • --spring.datasource.username=<username>: 设置数据源用户名。
  • --spring.datasource.password=<password>: 设置数据源密码。
  • --spring.jpa.hibernate.ddl-auto=<value>: 设置 Hibernate DDL 自动生成策略(如 none, validate, update, create, create-drop)。
  • --spring.main.banner-mode=<mode>: 设置启动横幅模式(如 off, console, log)。
  • --spring.application.name=<name>: 设置应用名称。

其他常见参数

  • --spring.output.ansi.enabled=<true|false>: 启用或禁用 ANSI 颜色输出。
  • --spring.devtools.restart.enabled=<true|false>: 启用或禁用 DevTools 重启功能。
  • --spring.datasource.initialization-mode=<always|embedded|never>: 设置数据源初始化模式。
  • --spring.jpa.show-sql=<true|false>: 显示 SQL 语句。
  • --spring.h2.console.enabled=<true|false>: 启用或禁用 H2 控制台。

端口号

通过--server.port参数设置应用运行的端口号

java -jar your-app.jar --server.port=8081

配置文件

通过--spring.config.location参数指定外部配置文件的位置。

java -jar your-app.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

环境变量

通过--spring.profiles.active参数激活特定的Spring Profile。

java -jar your-app.jar --spring.profiles.active=dev

JVM参数

直接传递JVM参数,如内存设置等。

java -Xms512m -Xmx1024m -jar your-app.jar

配置文件

ava -jar your-app.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

日志级别

你可以使用--logging.level参数来设置不同包或类的日志级别。例如:

java -jar your-app.jar --logging.level.org.springframework=DEBUG

这将把Spring框架的日志级别设置为DEBUG。

生成Dump文件

如果你需要生成堆转储(heap dump)文件,可以使用以下参数:

java -jar your-app.jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dumpfile

这会在内存溢出时生成一个堆转储文件到指定路径。

Nacos相关参数

Nacos是一个动态服务发现、配置管理和服务管理平台。如果你的应用使用了Nacos,你可能需要配置Nacos的相关参数。

  • --spring.cloud.nacos.discovery.server-addr=<address>: 设置 Nacos 服务发现服务器地址。
  • --spring.cloud.nacos.config.server-addr=<address>: 设置 Nacos 配置中心服务器地址。
  • --spring.cloud.nacos.config.namespace=<namespace>: 设置 Nacos 命名空间。
  • --spring.cloud.nacos.config.group=<group>: 设置 Nacos 配置组。

例如:

java -jar your-app.jar --spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 --spring.cloud.nacos.config.server-addr=127.0.0.1:8848

JVM

  1. 堆内存大小

    • 参数-Xms(初始堆内存大小),-Xmx(最大堆内存大小)
    • 示例java -jar -Xms512m -Xmx1024m myapp.jar
    • 说明:通过设置初始堆内存和最大堆内存,可以控制Java虚拟机使用的内存量。例如,上述命令将初始堆内存设置为512MB,最大堆内存设置为1024MB。
  2. 垃圾回收日志

    • 参数-XX:+PrintGCDetails(打印详细的GC日志)
    • 示例java -jar -XX:+PrintGCDetails myapp.jar
    • 说明:启用垃圾回收日志可以帮助开发者了解垃圾回收的情况,从而进行性能调优。
  3. 远程调试

    • 参数-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
    • 示例java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 myapp.jar
    • 说明:启用远程调试功能,允许开发者通过网络连接到正在运行的JVM实例进行调试。
  4. 元空间大小

    • 参数-XX:MetaspaceSize(元空间初始大小),-XX:MaxMetaspaceSize(元空间最大大小)
    • 示例java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m myapp.jar
    • 说明:元空间用于存储类的元数据,如类的版本、字段、方法等信息。通过设置元空间的大小,可以避免因元空间不足导致的OutOfMemoryError。
  5. 垃圾回收器选择

    • 参数-XX:+UseG1GC(启用G1垃圾收集器)
    • 示例java -jar -XX:+UseG1GC myapp.jar
    • 说明:选择合适的垃圾回收器可以根据应用的特点和需求优化内存管理。G1垃圾收集器是一种面向低暂停时间的垃圾收集器,适用于大内存和多处理器的环境。
  6. 系统属性设置

    • 参数-Dproperty=value(设置系统属性)
    • 示例java -jar -Dmy.property=myValue myapp.jar
    • 说明 :通过设置系统属性,可以在运行时配置应用程序的行为。例如,上述命令设置了名为my.property的系统属性,其值为myValue
相关推荐
邓熙榆8 分钟前
Logo语言的网络编程
开发语言·后端·golang
羊小猪~~4 小时前
MYSQL学习笔记(四):多表关系、多表查询(交叉连接、内连接、外连接、自连接)、七种JSONS、集合
数据库·笔记·后端·sql·学习·mysql·考研
大叔_爱编程4 小时前
wx030基于springboot+vue+uniapp的养老院系统小程序
vue.js·spring boot·小程序·uni-app·毕业设计·源码·课程设计
ByteBlossom6666 小时前
MDX语言的语法糖
开发语言·后端·golang
计算机学姐6 小时前
基于微信小程序的驾校预约小程序
java·vue.js·spring boot·后端·spring·微信小程序·小程序
小白的一叶扁舟7 小时前
深入剖析 JVM 内存模型
java·jvm·spring boot·架构
sjsjsbbsbsn7 小时前
基于注解实现去重表消息防止重复消费
java·spring boot·分布式·spring cloud·java-rocketmq·java-rabbitmq
苹果醋37 小时前
golang 编程规范 - Effective Go 中文
java·运维·spring boot·mysql·nginx
沈霁晨7 小时前
Ruby语言的Web开发
开发语言·后端·golang
DanceDonkey7 小时前
@RabbitListener处理重试机制完成后的异常捕获
开发语言·后端·ruby