在Linux系统中,可以通过多种方式设置JVM启动参数,具体取决于您的应用场景和启动方式。以下是几种常见的方法:
java -Xms512m -Xmx1024m -XX:+UseG1GC -jar your_application.jar
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"
java $JAVA_OPTS -jar your_application.jar
或者
export JAVA_TOOL_OPTIONS="-Xms512m -Xmx1024m -XX:+UseG1GC"
java -jar your_application.jar
编辑setenv.sh
文件(位于Tomcat的bin目录下):
#!/bin/sh
export CATALINA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC -Djava.awt.headless=true"
# application.properties
spring.jmx.enabled=false
server.port=8080
java -jar app.jar --spring.jmx.enabled=false --server.port=8080
内存设置:
-Xms512m # 初始堆大小
-Xmx1024m # 最大堆大小
-Xss256k # 每个线程的栈大小
垃圾回收:
-XX:+UseG1GC # 使用G1垃圾回收器
-XX:+UseConcMarkSweepGC # 使用CMS垃圾回收器
-XX:+UseParallelGC # 使用并行垃圾回收器
诊断和监控:
-XX:+HeapDumpOnOutOfMemoryError # OOM时生成堆转储
-XX:HeapDumpPath=/path/to/dumps # 堆转储路径
-XX:+PrintGCDetails # 打印GC详情
Java 8及之前:
-XX:PermSize=128m
-XX:MaxPermSize=256m
Java 8+:
-XX:MetaspaceSize=128m
-XX:MaxMetaspaceSize=256m
# 查看某个Java进程的JVM参数
jps -v
# 或者
ps -ef | grep java
根据您的具体应用场景和需求选择合适的设置方式,并调整参数值以达到最佳性能。