news 2026/4/2 1:52:21

在 JDK 8 中,JVM 参数主要分为三类:标准参数(-X 和 -XX)、系统属性参数(-D)以及用于垃圾回收(GC)和性能调优的参数。以下是一些常用的 JVM 参数及其作用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 JDK 8 中,JVM 参数主要分为三类:标准参数(-X 和 -XX)、系统属性参数(-D)以及用于垃圾回收(GC)和性能调优的参数。以下是一些常用的 JVM 参数及其作用

在 JDK 8 中,JVM 参数主要分为三类:标准参数(-X 和 -XX)、系统属性参数(-D)以及用于垃圾回收(GC)和性能调优的参数。以下是一些常用的 JVM 参数及其作用:

1. 堆内存设置

  • -Xms‌:设置 JVM 启动时的初始堆内存大小。例如-Xms2g表示初始堆大小为 2GB。
  • -Xmx‌:设置 JVM 最大堆内存大小。例如-Xmx4g表示最大堆大小为 4GB。
  • -XX:MetaspaceSize‌:设置元空间的初始大小。例如-XX:MetaspaceSize=256m
  • -XX:MaxMetaspaceSize‌:设置元空间的最大大小。例如-XX:MaxMetaspaceSize=512m

2. 年轻代和老年代设置

  • -Xmn‌:设置年轻代的大小。例如-Xmn512m表示年轻代大小为 512MB。
  • -XX:NewRatio‌:设置年轻代与老年代的比例。例如-XX:NewRatio=3表示年轻代占整个堆的 1/4。
  • -XX:SurvivorRatio‌:设置 Eden 区与 Survivor 区的比例。例如-XX:SurvivorRatio=8表示 Eden 区与 Survivor 区的比例为 8:1。

3. 垃圾回收器设置

  • -XX:+UseG1GC‌:启用 G1 垃圾收集器。G1 是 JDK 8 中推荐的垃圾收集器,适用于大堆内存应用。
  • -XX:+UseParallelGC‌:启用并行垃圾收集器(Parallel GC),适用于吞吐量优先的场景。
  • -XX:+UseConcMarkSweepGC‌:启用 CMS 垃圾收集器,适用于低延迟要求的应用。
  • -XX:MaxGCPauseMillis‌:设置最大垃圾收集暂停时间目标。例如-XX:MaxGCPauseMillis=200表示目标暂停时间为 200 毫秒。
  • -XX:G1HeapRegionSize‌:设置 G1 堆区域的大小。例如-XX:G1HeapRegionSize=16m

4. GC 日志和监控

  • -XX:+PrintGCDetails‌:输出详细的 GC 信息。
  • -XX:+PrintGCDateStamps‌:输出 GC 时间戳。
  • -Xloggc:<file>‌:指定 GC 日志文件路径。例如-Xloggc:/opt/applogs/gc.log
  • -XX:+UseGCLogFileRotation‌:启用 GC 日志滚动。
  • -XX:NumberOfGCLogFiles‌:设置滚动日志文件数量。
  • -XX:GCLogFileSize‌:设置每个 GC 日志文件的大小。

5. 性能调优参数

  • -XX:+DisableExplicitGC‌:禁用显式调用System.gc()
  • -XX:+ParallelRefProcEnabled‌:启用并行引用处理。
  • -XX:+UseBiasedLocking‌:启用偏向锁优化。
  • -XX:+UseFastAccessorMethods‌:启用快速访问器方法优化。
  • -XX:+AggressiveOpts‌:启用激进优化。

6. 其他常用参数

  • -XX:+PrintCommandLineFlags‌:打印 JVM 启动时的参数。
  • -XX:+PrintFlagsFinal‌:打印最终生效的 JVM 参数。
  • -Dfile.encoding=UTF-8‌:设置文件编码。
  • -Djava.net.preferIPv4Stack=true‌:优先使用 IPv4。
  • -Djava.security.egd=file:/dev/./urandom‌:优化随机数生成。

7. 示例配置(基于 64GB 内存、32 核 CPU 的服务器)

-Xms32g -Xmx32g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16m -XX:InitiatingHeapOccupancyPercent=45 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -Xloggc:/opt/applogs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/applogs/heapdump.hprof -XX:ErrorFile=/opt/applogs/hs_err_pid%p.log
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 22:59:42

基于多尺度空洞注意力(MSDA)的YOLOv11改进与视觉识别优化

文章目录 毕设实战:基于多尺度空洞注意力(MSDA)的YOLOv11改进与视觉识别优化 一、技术背景与方案优势 二、环境搭建与依赖准备 2.1 虚拟环境配置 2.2 数据集准备 三、MSDA模块的代码实现 3.1 多尺度空洞注意力(MSDA)核心代码 3.2 嵌入MSDA到YOLOv11的Backbone 四、模型训练…

作者头像 李华
网站建设 2026/3/31 17:27:35

基于H-S FPN的YOLOv11 Neck模块优化(超轻量高精度特征融合方案)

文章目录 研发实战:基于H-S FPN的YOLOv11 Neck模块优化(超轻量高精度特征融合方案) 一、技术背景与方案价值 二、环境搭建与依赖配置 2.1 虚拟环境创建 2.2 数据集准备 三、H-S FPN模块的代码实现 3.1 分层特征选择(H-S)核心组件 3.2 H-S FPN的Neck结构实现 3.3 替换YOLOv…

作者头像 李华
网站建设 2026/3/27 6:40:55

Claude Code 算是被我玩明白了

坦白说&#xff0c;现在每个开发者都在用 AI 写代码&#xff0c;作为写了十年代码的老开发&#xff0c;我曾以为“熟练切屏”是程序员的必修课。但过去两年&#xff0c;我至少换了 5 款 AI 编程插件&#xff0c;每个工具都很好&#xff0c;但它们彼此是孤立的。我不得不在IDE、…

作者头像 李华
网站建设 2026/3/28 6:51:05

你以为日期选择器很简单?我刚进团队就被它狠狠干了一周

我最近加入了一个新团队。那种“成熟到可怕”的 Design System 团队&#xff1a;Figma 命名规矩、代码语义清晰、会议都有议程——你甚至能在日历里看到“讨论结束时间”。 但我第一次见识到他们的“当下大麻烦”&#xff0c;不是在什么战情室&#xff0c;也不是在发布事故复盘…

作者头像 李华
网站建设 2026/3/27 11:08:42

漫谈人机协同中的人机功能分配

在人机协同的分工逻辑中&#xff0c;“人杂机复”与“人道机术”是两种互补且有深度的视角&#xff0c;分别从任务属性和职能定位两个维度&#xff0c;揭示了人类与机器在协同中的核心优势与边界。两者结合&#xff0c;为人机协同的高效实现提供了完整的理论框架。一、基于任务…

作者头像 李华