这似乎在我的机器上也将永远存在,但是我从任务管理器中注意到,似乎不再发生任何事情(CPU使用率低,磁盘I / O)。原因是,尽管进度指示器始终显示动画,但根据日志文件,该操作已被静默中止。
要打开日志,我使用了以下步骤:
这在日志底部显示了我:
SEVERE [org.openide.util.RequestProcessor]
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.HashMap.newNode(HashMap.java:1734)
at java.util.HashMap.putVal(HashMap.java:630)
at java.util.HashMap.put(HashMap.java:611)
at java.util.HashSet.add(HashSet.java:219)
at org.netbeans.lib.profiler.heap.DominatorTree.intersect(DominatorTree.java:279)
at org.netbeans.lib.profiler.heap.DominatorTree.computeOneLevel(DominatorTree.java:114)
at org.netbeans.lib.profiler.heap.DominatorTree.computeDominators(DominatorTree.java:64)
at org.netbeans.lib.profiler.heap.HprofHeap.computeRetainedSize(HprofHeap.java:537)
at org.netbeans.lib.profiler.heap.HprofHeap.computeRetainedSizeByClass(HprofHeap.java:594)
at org.netbeans.lib.profiler.heap.ClassDump.getRetainedSizeByClass(ClassDump.java:102)
at org.netbeans.modules.profiler.heapwalk.HeapFragmentWalker.computeRetainedSizes(HeapFragmentWalker.java:100)
at org.netbeans.modules.profiler.heapwalk.ClassPresenterPanel$1$1.run(ClassPresenterPanel.java:187)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1393)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2003)
Run Code Online (Sandbox Code Playgroud)
默认情况下,我的64位Java VM堆大小将限制为计算机内存的25%(甚至更低的VisualVM内置限制)。为了解决下一个问题,我将再次尝试启动VisualVM,如下所示:
jvisualvm.exe -J-Xmx16g
Run Code Online (Sandbox Code Playgroud)
之后,日志在启动时显示:
Heap memory usage: initial 24,0MB maximum 14563,6MB
Run Code Online (Sandbox Code Playgroud)
我有一个 600MB 的堆,只需要 900 CPU 分钟的时间来计算保留的大小。那是15个小时。我认为它与堆上的内容非常相关,所以我不会推断到你的堆(你也指出它没有完成;),但这是另一个数据点。
| 归档时间: |
|
| 查看次数: |
3652 次 |
| 最近记录: |