spring boot 常用参数总结

扫测资讯 2024-11-18 00:07   18 0

通用 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