MetaspaceSize含义

MetaspaceSize容量触发FGC的阈值。比如-XX:MetaspaceSize=256m,当MetaspaceSize容量超过256M时触发FGC,超过设定阈值后MetaspaceSize每扩容一次触发一次FGC;

默认值

查看命令如下,默认值大约20.8m;

jinfo -flag MetaspaceSize pid

1

设置建议

MetaspaceSize和MaxMetaspaceSize设置一样大;

MetaspaceSize值建议设置为应用稳定运行后1.2-1.5倍;

查看应用各分区大小命令:

jstat -gc pid

1

JDK8 MetaspaceSize VS JDK7 PermSize

MetaspaceSize设定了触发FGC的阈值,实际使用内存按需分配;

PermSize设定了永久代使用的空间大小,JVM启动时全部分配;

触发FGC使用回收算法

使用Old区配置或默认的回收算法

MetaspaceSize GC日志

Java HotSpot(TM) 64-Bit Server VM (25.65-b01) for linux-amd64 JRE (1.8.0_65-b17), built on Oct  6 2015 17:16:12 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)

Memory: 4k page, physical 131779324k(10823664k free), swap 0k(0k free)

CommandLine flags: -XX:GCLogFileSize=10485760 -XX:InitialHeapSize=2147483648 -XX:MaxHeapSize=2147483648 -XX:NumberOfGCLogFiles=3 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseGCLogFileRotation -XX:+UseParallelGC

2019-01-30T19:44:18.457+0800: 3.978: [GC (Metadata GC Threshold) [PSYoungGen: 461835K->16112K(611840K)] 461835K->16200K(2010112K), 0.3931600 secs] [Times: user=0.51 sys=0.02, real=0.39 secs]

2019-01-30T19:44:18.851+0800: 4.371: [Full GC (Metadata GC Threshold) [PSYoungGen: 16112K->0K(611840K)] [ParOldGen: 88K->14990K(1398272K)] 16200K->14990K(2010112K), [Metaspace: 20500K->20498K(1067008K)], 0.5014104 secs] [Times: user=0.71 sys=0.03, real=0.50 secs]

2019-01-30T19:44:24.355+0800: 9.876: [GC (Allocation Failure) [PSYoungGen: 524800K->16789K(611840K)] 539790K->31788K(2010112K), 0.0201253 secs] [Times: user=0.14 sys=0.01, real=0.02 secs]

2019-01-30T19:44:26.057+0800: 11.578: [GC (Metadata GC Threshold) [PSYoungGen: 306769K->18447K(611840K)] 321768K->33453K(2010112K), 0.1999213 secs] [Times: user=0.33 sys=0.05, real=0.20 secs]

2019-01-30T19:44:26.257+0800: 11.778: [Full GC (Metadata GC Threshold) [PSYoungGen: 18447K->0K(611840K)] [ParOldGen: 15006K->24189K(1398272K)] 33453K->24189K(2010112K), [Metaspace: 34427K->34427K(1079296K)], 0.2967989 secs] [Times: user=0.60 sys=0.01, real=0.30 secs]

2019-01-30T19:44:30.564+0800: 16.084: [GC (Allocation Failure) [PSYoungGen: 524800K->8554K(611840K)] 548989K->32751K(2010112K), 0.0120064 secs] [Times: user=0.11 sys=0.02, real=0.01 secs]

2019-01-30T19:44:35.154+0800: 20.675: [GC (Allocation Failure) [PSYoungGen: 533354K->12328K(611840K)] 557551K->36534K(2010112K), 0.0101480 secs] [Times: user=0.13 sys=0.01, real=0.01 secs]

2019-01-30T19:44:42.964+0800: 28.484: [GC (Allocation Failure) [PSYoungGen: 537128K->15493K(678400K)] 561334K->39707K(2076672K), 0.3960979 secs] [Times: user=0.74 sys=0.03, real=0.39 secs]

2019-01-30T19:44:51.856+0800: 37.377: [GC (Allocation Failure) [PSYoungGen: 672901K->20467K(677888K)] 697115K->45186K(2076160K), 0.2940298 secs] [Times: user=0.38 sys=0.03, real=0.29 secs]

2019-01-30T19:45:00.491+0800: 46.011: [GC (Allocation Failure) [PSYoungGen: 677875K->20974K(667648K)] 702594K->49184K(2065920K), 0.0700194 secs] [Times: user=0.18 sys=0.04, real=0.07 secs]

2019-01-30T19:45:03.267+0800: 48.787: [GC (Metadata GC Threshold) [PSYoungGen: 254075K->23468K(670208K)] 282284K->51685K(2068480K), 0.2873181 secs] [Times: user=0.43 sys=0.01, real=0.29 secs]

2019-01-30T19:45:03.555+0800: 49.075: [Full GC (Metadata GC Threshold) [PSYoungGen: 23468K->0K(670208K)] [ParOldGen: 28217K->41916K(1398272K)] 51685K->41916K(2068480K), [Metaspace: 56641K->56641K(1101824K)], 2.2062810 secs] [Times: user=4.30 sys=0.10, real=2.20 secs]

2019-01-30T19:45:11.071+0800: 56.591: [GC (Allocation Failure) [PSYoungGen: 646656K->9385K(670208K)] 688572K->51310K(2068480K), 0.0079215 secs] [Times: user=0.07 sys=0.00, real=0.01 secs]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

参考:

https://www.jianshu.com/p/b448c21d2e71

你假笨的<>:http://lovestblog.cn/blog/2016/10/29/metaspace/

java8 metaspacesize_JVM --- MetaspaceSize理解相关推荐

  1. java8 metaspacesize_JVM参数MetaspaceSize的误解

    前言 昨天谢照东大神在群里提出一个问题:怎么查看Metaspace里具体包含的是什么,起因是他的某个服务设置了-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=5 ...

  2. 【JAVA8】快速理解Consumer、Supplier、Predicate与Function

    快速理解Consumer.Supplier.Predicate与Function 一.前言 这几个接口都处在java.util.function包下,Consumer(消费型),Supplier(供给 ...

  3. Java8 Stream-深入理解筛选、归约、分组、聚合

    文章目录 1. 什么是stream? 2. 如何创建stream? 2.1 空的流 2.2 集合的流 2.3 数组的流 2.4 Stream.builder() 2.5 Stream.generate ...

  4. 【Java】Java8特性官网学习之Stream的前世今生

    前言 最近看了<数据密集型应用系统设计>,间断介绍了 命令式语言和声明式语言的区别 UNIX的 设计哲学 MapReduce编程框架 数据流引擎 函数运算符(函数式编程) 能发现Java8 ...

  5. Java8特性大全(最新版)

    一.序言 Java8 是一个里程碑式的版本,凭借如下新特性,让人对其赞不绝口. Lambda 表达式给代码构建带来了全新的风格和能力: Steam API 丰富了集合操作,拓展了集合的能力: 新日期时 ...

  6. java个人整理知识点

    发展: 1.SE 标准版. 2.EE 企业版,基于SE. 3.ME 已经淘汰. JDK.JRE和JVM: JDK: 称为Java开发工具包( Java Development Kit).Java开发人 ...

  7. java 8的内存分代改进_java8的内存结构,这一篇文章就够了

    在一开始学习java的时候,那时候是在网上看视频,老师就经常提到什么对象分配在堆区,什么在栈区,那时候和理解,后来理解了就想着写一篇文章好好的去梳理一下. 想说一下这篇文章的脉络: 首先,研究java ...

  8. 答题卡的计分方式_如何建立信用风险模型和记分卡

    答题卡的计分方式 We are all aware of, and keep track of, our credit scores, don't we? That all-important num ...

  9. 技术|Android安装包极限优化

    技术|Android安装包极限优化 版权声明  1.本文版权归原作者所有,转载需注明作者信息及原文出处.  2.本文作者:赵裕(vimezhao),永久链接:https://github.com/vi ...

最新文章

  1. iPhone 13便宜到上热搜!王守义诚不我欺
  2. DARPA发布战略框架文件旨在 为美国国家安全创建突破性新技术能力
  3. 老板,请给我多点培养【写给老板的一封信】
  4. Linux文件与目录的rwx权限
  5. 新浪博客登录php发,PHP的万能密码登陆
  6. codeforces 385C Bear and Prime Numbers
  7. MATLAB R2013 a版及序列号
  8. elasticsearch安装使用
  9. “胡焕庸”线 - 中国人口分布地理界线
  10. 学生成绩字典、获取最高分科目分数python_实例:找出分数最高的学生
  11. 微信小程序连接蓝牙打印机打印图片示例
  12. 2016 中兴签约经验
  13. #今日论文推荐# 阿里达摩院最新FEDformer,长程时序预测全面超越SOTA | ICML 2022
  14. 不同测序数据应用与基因组组装|Canu
  15. 【苹果家庭推送iMessage】软件安装应用程序访问HealthKit HomeKit
  16. 获取cookies(pyppeteer)
  17. 入门 redux 和 @connect 装饰器
  18. 阿里云-DataWorks- ODPS SQL开发
  19. Abracadabra
  20. 使用wxauto出现ImportError: DLL load failed while importing win32gui: 找不到指定的程序报错的解决方案

热门文章

  1. 网页设计基础内容总结(一)
  2. win10下装win7双系统_9块9包邮的Win7+Win10双系统U盘是什么玩意?
  3. 每天睡多久能长寿:成年人每天睡7小时左右
  4. 专注的力量 敬业的精神
  5. 邮箱,ip,叠词的正则处理方式
  6. c3p0连接池和druid连接池的使用
  7. 饿了么薅羊毛时刻正式开启
  8. 提升苹果电脑速度的10个小技巧
  9. 【Java小案例】从简到精完美判断年份是闰/平年和该年二月份有几天
  10. 【docker】docker常用命令汇总