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
相关推荐
isolusion2 小时前
Springboot的创建方式
java·spring boot·后端
Yvemil72 小时前
《开启微服务之旅:Spring Boot Web开发举例》(一)
前端·spring boot·微服务
zjw_rp2 小时前
Spring-AOP
java·后端·spring·spring-aop
TodoCoder3 小时前
【编程思想】CopyOnWrite是如何解决高并发场景中的读写瓶颈?
java·后端·面试
凌虚4 小时前
Kubernetes APF(API 优先级和公平调度)简介
后端·程序员·kubernetes
星河梦瑾4 小时前
SpringBoot相关漏洞学习资料
java·经验分享·spring boot·安全
机器之心4 小时前
图学习新突破:一个统一框架连接空域和频域
人工智能·后端
计算机学长felix5 小时前
基于SpringBoot的“交流互动系统”的设计与实现(源码+数据库+文档+PPT)
spring boot·毕业设计
.生产的驴5 小时前
SpringBoot 对接第三方登录 手机号登录 手机号验证 微信小程序登录 结合Redis SaToken
java·spring boot·redis·后端·缓存·微信小程序·maven
顽疲5 小时前
springboot vue 会员收银系统 含源码 开发流程
vue.js·spring boot·后端