首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Metaspace抛出OutOfMemoryException

Metaspace抛出OutOfMemoryException
EN

Stack Overflow用户
提问于 2016-01-29 14:50:02
回答 2查看 214关注 0票数 1

我最近从Java7迁移到了Java8。这引起了一个问题,几个小时后我得到了OutOfMemoryException,因为GC不能释放任何内存。此外,“最后的沟集”不能将Metaspace的大小调整到任何更大的范围。

我确信这是一个由反射加载大量类引起的问题。不幸的是,我无法找到一种方法来查看正在加载哪些类。有办法从堆转储中提取这些信息吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-30 07:02:23

你可以通过

代码语言:javascript
复制
-verbose:class

到JVM以打印正在加载的类。

票数 2
EN

Stack Overflow用户

发布于 2016-05-04 23:23:39

您需要使用JDK附带的(jmc.exe)来记录应用程序上的事件。如下所示: 1.从bin目录2启动jmc.exe。开始录制。如果要录制全部或时间限制,则选中此复选框。3.倒掉录音。4.调试愉快。

具体来说,您可以转到内存选项卡( Memory )选项卡->分配->分配--这给出了加载的类以及它们的加载位置。

调试愉快。

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

https://stackoverflow.com/questions/35087312

复制
相关文章

相似问题

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