当前位置: 首页 > news >正文

元空间的两个重要参数

目录
  • 元空间的两个重要参数

元空间的两个重要参数

-XX:MetaspaceSize=128m                  # 这不是"初始大小",而是"GC触发线" ,当元空间使用量接近这个值时,触发GC尝试回收
-XX:MaxMetaspaceSize=512m               # 这是元空间绝对不能超过的限制,达到这个限制会触发Full GC,如果还不够就OOM

JVM的行为逻辑:

  1. 应用启动,加载所有必要的类
  2. 假如实际需要 ~130MB 元空间存储类元数据
  3. JVM提交刚好够用的内存 (MC ≈ 130MB)
  4. 参数只影响"何时GC"和"最大限制",不改变实际需求

jstat显示的是jvm提交的内存,参数设置的"何时GC"和"最大限制"在jstat的输出中并没有显示。
关键概念:jstat显示的是实际状态,参数设置的是行为规则

# jstat -gc 显示的实际数据:
MC = 131072 KB  # JVM实际提交的内存(可测量)
MU = 126000 KB  # 实际使用的内存(可测量)# 参数设置的行为规则:
-XX:MetaspaceSize=256m    # GC触发规则(不可直接测量)
-XX:MaxMetaspaceSize=512m # 增长上限规则(不可直接测量)# 参数在jstat中的"间接"体现
# 当MU接近MetaspaceSize时,会看到GC活动:
jstat -gcutil输出:M     YGC    FGC95.2   150     5     # 使用率95%,但还没触发48.1   151     6     # 使用率骤降 → 发生了元空间GC!# 间接证据:FGC增加 + M列突然下降
# MetaspaceSize: 第一道防线    警戒水位线 - 水位达到这里时,开始泄洪(GC)
- 早期预警,尝试温和回收
- 防止问题恶化# MaxMetaspaceSize: 最后防线   大坝高度 - 水位绝对不能超过这里,否则溃坝(OOM)
- 防止系统内存被耗尽
- 提供明确的失败点
# MetaspaceSize设置:
- 比预期稳定使用量高20-30%
- 提供缓冲空间,避免频繁GC# MaxMetaspaceSize设置:
- 为未来增长留出空间
- 防止影响系统其他部分
- 通常为MetaspaceSize的1.5-2倍
参数 作用 默认值 相当于
-XX:MetaspaceSize GC触发阈值 ~21MB "高水位线"、"警报线"
-XX:MaxMetaspaceSize 硬性上限 无限制 "天花板"、"最大限制"
元空间使用量增长↓┌─ 使用量 < MetaspaceSize >充足? ─┐↓                           ↓否                           是↓                           ↓
触发元空间GC                 正常使用,不触发GC↓
回收死类元数据↓┌─ 回收后使用量 < MaxMetaspaceSize >充足? ─┐↓                                     ↓是                                     否↓                                     ↓
继续正常运行                             触发Full GC → 仍不够 → OOM
http://www.zskr.cn/news/17649.html

相关文章:

  • 小迪安全v2023学习笔记(八十七讲)—— 安卓逆向篇Smail语法反编译重打包Activity周期Hook模块 - 实践
  • 抽象函数的定义域
  • GEO优化系统哪个最好?
  • Oracle故障处理:ASM手动修复磁盘头
  • 5分钟,15分钟,差距大,做5分钟线要严格止损
  • OIFHA251009 比赛总结
  • 营销农场小程序管理系统:营销吸粉与流量变现解决方案
  • 2025智能电动伸缩门厂家推荐榜
  • 软件技术基础第一次作业1
  • 实验结论
  • 吴恩达深度学习课程一:神经网络和深度学习 第二周:神经网络基础(三)
  • 【大数据】AI就业影响数据可视化分析系统 计算机毕业设计项目 Anaconda+Django+Spark+Hadoop环境调整 附源码+文档+讲解
  • PKDV5351高压差分探头在氢燃料电池堆电压均衡监测中的实战应用案例
  • 2025秋_8
  • react的依赖项数组 - 实践
  • VSCode万能Debug任何执行python文档命令的详细教程
  • PWN手的成长之路-13-jarvisoj_level0
  • 微信最新协议API上线!个人号快速接入
  • Firefox火狐浏览器插件下载、安装路径、备份插件、手动安装插件
  • 实用指南:PyTest框架学习
  • 计算机毕业设计springboot制氢领域文献管理强大的系统 基于SpringBoot的氢能研究文献管理平台 面向制氢技能的文献资料管理系统设计与实现
  • 数论中
  • Vue 3 + TypeScript 中 QCarousel 模板引用类型错误解决方案
  • 深入解析:recipes中声明 DEPENDS += “virtual/kernel“ 的效果
  • Ubuntu安装 IDEA
  • .                    当项目规模失控时:架构师的“止损”之道
  • .                                  为什么资深开发者越来越少写代码?
  • 从0开始使用LabVIEW操作数据采集卡-概述和新建新建项目
  • 当开发者学会拒绝
  • 2025 年板材源头厂家最新推荐排行榜:聚焦 ENF 级环保、零醛添加等优质板材,精选实力企业助您精准选购零醛添加/装修/生态板/指接板/直拼板板材PET实木板材厂家推荐