使用 VisualVm 分析堆转储时出现内存不足错误

Posted

技术标签:

【中文标题】使用 VisualVm 分析堆转储时出现内存不足错误【英文标题】:out of memory error when use the VisualVm to analysis heap dump 【发布时间】:2019-04-09 03:25:54 【问题描述】:

当使用visualVm的堆转储时,有一个选项可以查看特定类的所有实例,但是当实例太多时,我得到了这个错误:

堆遍历器内存不足: 为避免此错误,请增加 NetBeans IDE 安装目录下 etc/netbeans.conf 文件中的 -Xmx 值。

但错误应该与 netbeans.conf 无关,它应该类似于 visualVM.conf 文件。而且我也没有在我的jdk中找到配置文件。那么我该如何解决这个错误呢?

【问题讨论】:

如果是单机安装,则为安装目录中的etc/visualvm.conf。对于 JDK 附带的版本,请检查 JDK 安装目录中的 lib/visualvm/etc/visualvm.conf。但请注意,您也可以在命令行上指定 -J-Xmx5G 之类的选项,以便在一次运行中覆盖它。 感谢您的回答,对我来说这是一个独立的安装。我使用命令行解决了这个问题 【参考方案1】:

有两种解决方案:

1.使用命令行启动JvisualVM,例如:jvisualvm -J-Xms1024m -J-Xmx2048m 2.更新 %JDK_HOME%\lib\visualvm\etc\visualvm.conf 中的属性

选项1更方便推荐

【讨论】:

以上是关于使用 VisualVm 分析堆转储时出现内存不足错误的主要内容,如果未能解决你的问题,请参考以下文章

打开堆转储时出错

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

性能测试之JVM的故障分析工具VisualVM

内存不足时的 Java EE 堆转储

ConnectionQueueStatsProvider 出现内存不足错误

Akka演员(Scala)如何在内存不足时获得堆转储[重复]