JVM 启动参数配置工具

可视化配置 Java 虚拟机启动参数,支持内存设置、GC 选择、性能调优等选项

智能参数推荐

根据服务器配置和应用场景,智能推荐最优 JVM 参数配置

场景特点:轻量级、快速启动、低内存占用,适合容器化部署

内存配置

128M8192M
128M16384M
10%75%
M
M
K

垃圾回收器 (GC)

G1 GC 是服务器应用的默认选择,平衡了吞吐量和延迟,适合大堆内存场景。

性能调优

启用激进的优化选项

压缩普通对象指针(堆<32G自动启用)

字符串去重(G1 GC)

其他配置

生成的启动命令

java -Xms512M \ -Xmx1024M \ -XX:NewRatio=2 \ -XX:MetaspaceSize=256M \ -XX:MaxMetaspaceSize=512M \ -Xss1024K \ -XX:+UseG1GC \ -XX:+PrintGC \ -XX:+PrintGCDetails \ -XX:+PrintGCTimeStamps \ -Xlog:gc*:file=/logs/gc.log:time,tags:filecount=5,filesize=10m \ -XX:+UseCompressedOops \ -XX:+UseCompressedClassPointers \ -Duser.timezone=Asia/Shanghai \ -Dfile.encoding=UTF-8 \ -jar your-application.jar

快速预设

常用参数说明

-Xms

初始堆内存大小,建议与 -Xmx 相同避免动态调整

-Xmx

最大堆内存大小,生产环境建议不超过物理内存的 75%

-Xmn / -XX:NewRatio

新生代大小,建议设置为堆内存的 30%-50%

-XX:MetaspaceSize

元空间初始大小,取代永久代(PermGen)

-Xss

线程栈大小,默认 1MB,递归深度大时可适当增加

JVM 调优最佳实践

生产环境将 -Xms 和 -Xmx 设置为相同值,避免内存动态调整开销
堆内存不超过物理内存的 75%,预留空间给操作系统和元空间
选择合适的 GC 算法:大内存用 G1,低延迟用 ZGC/Shenandoah
开启 GC 日志便于问题排查,生产环境建议开启
监控 JVM 指标:堆使用率、GC 频率、GC 耗时、线程数
避免过早优化,先进行性能测试找出瓶颈

关于 JVM 启动参数

JVM (Java Virtual Machine) 启动参数是优化 Java 应用性能的关键。合理配置堆内存、选择合适的垃圾回收器、调整新生代比例等参数,可以显著提升应用的吞吐量和响应速度。

常用参数分类:

  • -Xms/-Xmx:堆内存大小设置
  • -XX:NewRatio:新生代与老年代比例
  • -XX:MetaspaceSize:元空间大小
  • -Xss:线程栈大小
  • -XX:+UseG1GC:使用 G1 垃圾回收器

性能调优建议:

  • 生产环境将 -Xms 和 -Xmx 设为相同值
  • 堆内存不超过物理内存的 75%
  • 大堆(>16GB)优先选择 G1 GC 或 ZGC
  • 低延迟场景考虑 ZGC 或 Shenandoah
  • 开启 GC 日志便于问题排查

常见问题

如何设置合适的堆内存大小?

建议设置为物理内存的 60-75%。例如 8GB 内存的服务器,堆内存可设置为 5-6GB。

什么是 OOM (OutOfMemoryError)?

当 JVM 堆内存不足时抛出的错误。可通过增大 -Xmx 值或优化代码减少内存占用来解决。

G1 GC 和 Parallel GC 有什么区别?

G1 GC 适合大内存、低延迟场景;Parallel GC 适合小内存、追求高吞吐量的场景。

什么时候使用 ZGC?

ZGC 适合对延迟要求极高的应用(如金融交易),需要 Java 15+ 版本支持。

© 2026 星贝工具