讲师中心 微信公众号
AI工具推荐 视频效率加速

常用的 jvm 调优的参数都有哪些?

雨枫小哥_1652

雨枫小哥_1652

发布时间:2025-12-02 09:30:07

|

1022人浏览过

|

来源于php中文网

原创

JVM调优参数主要涉及堆内存、垃圾回收等,-Xms与-Xmx设相同值可避免扩展开销,-Xmn调整年轻代大小以减少Minor GC频率,-XX:NewRatio和-XX:SurvivorRatio优化代间比例;GC选择上,UseParallelGC适合吞吐场景,UseG1GC平衡停顿与吞吐,UseZGC适用于大堆低延迟需求。

常用的 jvm 调优的参数都有哪些?

常用的 JVM 调优参数主要围绕堆内存、垃圾回收、栈空间和运行时行为展开。合理设置这些参数可以提升应用性能、减少 GC 停顿、避免内存溢出等问题。

堆内存相关参数

控制 JVM 堆的大小是调优的基础,直接影响应用的内存使用和 GC 行为。

  • -Xms:设置 JVM 启动时的初始堆大小,建议与 -Xmx 设置相同,避免动态扩展带来的性能损耗。例如:-Xms2g
  • -Xmx:设置最大堆内存大小,防止内存无限制增长。例如:-Xmx4g
  • -Xmn:设置年轻代大小,适当增大可减少 Minor GC 频率。例如:-Xmn1g
  • -XX:NewRatio=:设置年轻代与老年代的比例(如 2 表示老年代 : 年轻代 = 2:1)
  • -XX:SurvivorRatio=:设置 Eden 区与每个 Survivor 区的比例,默认 8 表示 Eden : S0 : S1 = 8:1:1

垃圾回收器选择

不同业务场景适合不同的 GC 策略,选择合适的回收器对延迟和吞吐量影响很大。

MAC风格响应式蓝色企业CMS后台管理系统模版
MAC风格响应式蓝色企业CMS后台管理系统模版

MAC风格响应式蓝色企业CMS后台管理系统模版

下载
  • -XX:+UseSerialGC:串行回收器,适用于单核环境或小型应用
  • -XX:+UseParallelGC:并行回收器(吞吐量优先),适合后台批处理服务
  • -XX:+UseConcMarkSweepGC:CMS 回收器(已废弃),低延迟场景曾常用
  • -XX:+UseG1GC:G1 回收器,兼顾吞吐和停顿时间,现代应用推荐使用
  • -XX:+UseZGC:ZGC,支持超大堆(TB 级),停顿时间极短(
  • -XX:+UseShenandoahGC:Shenandoah,类似 ZGC,低延迟,Red Hat 主导

GC 行为与监控参数

用于优化 GC 细节行为和输出日志,便于分析性能问题。

  • -XX:+PrintGC 或 -verbose:gc:输出 GC 基本信息
  • -XX:+PrintGCDetails:输出详细的 GC 日志
  • -XX:+PrintGCDateStamps:打印 GC 发生的时间戳
  • -Xlog:gc*:file.log:JDK 9+ 推荐的日志方式,更灵活(替代旧参数)
  • -XX:MaxGCPauseMillis=:G1 中设置期望的最大 GC 停顿时间目标
  • -XX:G1HeapRegionSize=:设置 G1 的 Region 大小

栈与元空间参数

控制线程栈和类元数据的内存分配。

  • -Xss:设置每个线程的栈大小,减少内存占用但过小可能引发 StackOverflowError
  • -XX:MetaspaceSize=:设置元空间初始大小,避免频繁触发元空间扩容
  • -XX:MaxMetaspaceSize=:限制元空间最大值,防止元空间无限增长导致 OOM

基本上就这些常用参数。实际调优要结合应用类型(如高并发 Web 服务 vs 批处理)、堆大小、GC 日志和监控工具(如 JVisualVM、Arthas、Prometheus)综合分析。不复杂但容易忽略的是日志配置和回收器选型,这两个往往决定调优成败。

热门AI工具

更多
AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

4687

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2128

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

4687

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2128

2023.08.10

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

80

2026.09.23

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

20

2026.09.23

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

20

2026.09.23

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

20

2026.09.22

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

20

2026.09.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn