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
相关推荐
pengyu2 分钟前
【Java设计原则与模式之系统化精讲:零】 | 编程世界的道与术(理论篇)
java·后端·设计模式
Aurora_NeAr2 分钟前
深入浅出Docker
后端
程序员岳焱8 分钟前
16.Java Annotation注解:元数据与代码增强
java·后端·编程语言
瀚海澜生10 分钟前
redis系列(2)——AOF日志和RDB快照
后端
AI视觉网奇1 小时前
pycharm F2 修改文件名 修改快捷键
ide·python·pycharm
WilliamCHW1 小时前
Pycharm 配置解释器
ide·python·pycharm
面朝大海,春不暖,花不开1 小时前
Spring Security默认配置覆盖指南
java·后端·spring
Java技术小馆2 小时前
打印高质量日志的10条军规
java·后端·面试
陈随易3 小时前
Element Plus 2.10.0 重磅发布!新增Splitter组件
前端·后端·程序员
陈随易3 小时前
2025年100个产品计划之第11个(哆啦工具箱) - 像哆啦A梦口袋一样丰富的工具箱
前端·后端·程序员