首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Metaspace分配的比MaxMetaspaceSize更多

Metaspace分配的比MaxMetaspaceSize更多
EN

Stack Overflow用户
提问于 2020-05-19 16:53:56
回答 1查看 672关注 0票数 3

在Java8中,我在我的服务上运行GC日志,通过GCeasy,我看到1GB被分配给metaspace,而峰值在40m左右,那么为什么要分配1GB呢?

我玩旗子,加上"-XX:MaxMetaspaceSize=10M“。

然后,我得到了java.lang.OutOfMemoryError: Metaspace,正如预期的那样,但是仍然在GC日志上看到分配了1GB。日志里有错误吗?或者我漏掉了什么。

我在GC日志文件上运行grep Metaspace并获得以下输出:

-XX:MaxMetaspaceSize=10485760 -XX:MetaspaceSize=10485760 CommandLine旗子:-XX:CompressedClassSpaceSize=2097152 -XX:+DisableExplicitGC -XX:GCLogFileSize=104857600 -XX:InitialHeapSize=536870912 -XX:MaxHeapSize=536870912 -XX:NumberOfGCLogFiles=10 -XX:+PrintGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:ReservedCodeCacheSize=134217728 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseCompressedOops-XX:ReservedCodeCacheSize=134217728-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedClassPointers-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedClassPointers-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:+PrintGC-XX:+PrintGCApplicationConcurrentTime-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCDateStamps-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:+UseCompressedOops-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGC-XX:+PrintGCApplicationConcurrentTime-XX:+PrintGC-XX:+PrintGCApplicationConcurrentTime-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCDateStamps-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:+UseCompressedOops-XX:+PrintGCTimeStamps-XX:+PrintGC-XX:+PrintGCApplicationConcurrentTime-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCDateStamps-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:+UseCompressedOops-XX:+PrintGCTimeStamps-XX:+PrintGC-XX:+PrintGCApplicationConcurrentTime-XX:+PrintGC-XX:+PrintGCApplicationConcurrentTime-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCDateStamps-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:+UseCompressedOops-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+PrintGCTimeStamps-XX:ReservedCodeCacheSize=134217728-XX:+UseCompressedClassPointers-XX:+UseCompressedOops

2020年-05-19T16:38:18.359+0000: 0.837:[全GC (元数据GC阈值) PSYoungGen: 7298 K->0K(153088K) 7306K->6944K(502784K),Metaspace: 9975K->9975K(1058816K),0.0249384秒] Times: user=0.08 sys=0.01,real=0.02 secs

2020年-05-19T16:38:18.386+0000: 0.864:[全GC (元数据GC阈值) PSYoungGen: 0K->0K(153088K) 6944K->6944K(502784K),Metaspace: 9975K->9975K(1058816K),0.0129850秒]Time: user=0.04 sys=0.00,real=0.01 secs

2020-05-19T16:38:18.400+0000: 0.879:完全GC (最后一条沟收集) [PSYoungGen: 0K->0K(153088K)] [ParOldGen: 6944K->6816K(3496K)] 6944K->6816K(502784K),[Metaspace: 9975K->9965K(1058816K)],0.0252318秒

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-20 16:24:52

答案基本上是here,尽管理解起来并不简单。

MaxMetaspaceSize限制提交的内存,而GC日志实际上打印保留的内存。所以保留:1058816K,提交:9975K,根据您的日志。保留内存根本不需要由交换或实际RAM支持,所以通常是非常大的。

这就是为什么你在GC log中看到这么大的数字。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61896564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档