1

我正在使用PerfView进行内存泄漏调查,我正在关注这个这个视频。

但是,我正在调查的服务器已经占用了大约 100% 的内存,所以当我尝试转储 GC 堆时,我得到一个OutOfMemoryException并且根本没有创建转储文件。PerfView日志文件具有以下内容:

HeapDump Error: System.OutOfMemoryException: Exception of type System.OutOfMemoryException' was thrown.
at System.Collections.Generic.Dictionary`2.Initialize(Int32 capacity)
at System.Collections.Generic.Dictionary`2..ctor(Int32 capacity, IEqualityComparer`1 comparer)
at Graphs.MemoryGraph..ctor(Int32 expectedSize)
at GCHeapDumper.DumpDotNetHeapData(ClrHeap heap, ICorDebugProcess& debugProcess, Boolean isDump)
at GCHeapDumper.TryGetDotNetDump(Int32 processID)
at GCHeapDumper.CaptureLiveHeapDump(Int32 processID)
at GCHeapDumper.DumpLiveHeap(Int32 processID)
at Program.MainWorker(String[] args)

当所有内存都已经被占用时,是否可以收集内存转储?

4

0 回答 0