服务启动
java服务启动参数
1 2 3 CONFIG_OPTS=-javaagent:/path/skywalking-agent.jar -Dskywalking.agent.service_name=<分类名>::<服务名> -Dskywalking.collector.backend_service=<sky_url> -Dspring.profiles.active=prod -Dspring.cloud.config.uri=<nacos_url> JAVA_OPTS=-server -XX:SurvivorRatio=10 -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -Dsun.rmi.dgc.server.gcInterval=2592000000 -Dsun.rmi.dgc.client.gcInterval=2592000000 -XX:ParallelGCThreads=2 -Xloggc:/var/data/logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/java.hprof -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=10000 -Dsun.net.client.defaultReadTimeout=30000 -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8CONFIG_OPTS
用于定义与应用服务和监控相关的配置,通常是在 Spring Boot 应用中使用环境变量来指定一些启动时的参数
-javaagent:/path/skywalking-agent.jar
1 2 3 这表示使用 Apache SkyWalking 的 Java agent,用于分布式应用的性能监控。/path/skywalking-agent.jar 是 SkyWalking agent jar 包的路径。 Java agent 用于拦截应用程序的运行数据并将其发送到 SkyWalking 后端。-Dskywalking.agent.service_name=<分类名>::<服务名>服务名>分类名>
1 2 3 定义 SkyWalking 监控中服务的名称。<分类名> 和 <服务名> 应该被替换为具体的服务分类和名称。 这个名称会在 SkyWalking 后端系统中显示,帮助区分不同的服务。-Dskywalking.collector.backend_service=
1 指定 SkyWalking 后端的地址,<sky_url> 是 SkyWalking 集群或后端服务的 URL,SkyWalking agent 会将监控数据发送到这个地址。-Dspring.profiles.active=prod
1 Spring Boot 的配置参数,指定应用使用 prod(生产环境)的配置文件。Spring 可以根据不同环境(开发、测试、生产)加载不同的配置文件。-Dspring.cloud.config.uri=
1 定义 Spring Cloud Config Server 的 URL,这里使用了 Nacos 作为配置中心,<nacos_url> 是 Nacos 配置中心的地址,应用程序会从该地址获取配置
JAVA_OPTS
包含的是 JVM 调优参数,主要是性能优化和垃圾回收的相关设置。
-server
1 启用 JVM 的 server 模式,适用于需要高性能的服务器应用。-XX:SurvivorRatio=10
1 设置新生代内存中 Eden 区和 Survivor 区的比例。Eden 区与 Survivor 区的比例是 10:1。-XX:+UseG1GC
1 使用 G1 (Garbage First) 垃圾收集器,G1 是一款面向低延迟和大内存应用的垃圾收集器,适用于服务器端应用-XX:MaxGCPauseMillis=100
1 设置垃圾收集过程中最大暂停时间为 100 毫秒。即 G1 尽量保证每次垃圾回收的暂停时间不会超过这个值。-Dsun.rmi.dgc.server.gcInterval=2592000000
1 指定 RMI(远程方法调用)分布式垃圾回收服务器的回收间隔,设置为 2592000000 毫秒(30 天)-Dsun.rmi.dgc.client.gcInterval=2592000000
1 与上面类似,这是 RMI 客户端的分布式垃圾回收间隔,设置为 30 天-XX:ParallelGCThreads=2
1 指定并行垃圾收集线程数为 2,用于控制并行垃圾回收时的线程数。-Xloggc:/var/data/logs/gc.log
1 指定垃圾回收日志的输出路径,日志文件保存到 /var/data/logs/gc.log。-XX:+PrintGCDetails
1 启用详细的垃圾回收日志输出,记录垃圾回收的详细信息。-XX:+PrintGCDateStamps
1 在垃圾回收日志中添加时间戳,用于更好地分析垃圾回收的时间点。-XX:+HeapDumpOnOutOfMemoryError
1 在发生内存溢出(OutOfMemoryError)时生成堆转储,用于分析内存溢出原因。-XX:HeapDumpPath=/path/java.hprof
1 指定堆转储文件的保存路径,转储文件会保存在 /path/java.hprof。-Djava.awt.headless=true
1 启用 headless 模式,表示在没有图形界面的环境下运行。这通常用于服务器端应用,不需要 GUI 支持。-Dsun.net.client.defaultConnectTimeout=10000
1 设置网络连接超时时间为 10 秒(10000 毫秒),用于 HTTP 连接的超时控制。-Dsun.net.client.defaultReadTimeout=30000
1 设置网络读操作超时时间为 30 秒(30000 毫秒)。-Dfile.encoding=UTF8
1 设置文件编码为 UTF-8,保证应用程序在读写文件时使用 UTF-8 编码。-Dsun.jnu.encoding=UTF8
1 设置操作系统的默认编码为 UTF-8,保证在系统调用时使用 UTF-8 编码
本文由作者按照
CC BY 4.0
进行授权