我想获得一些关于如何诊断内存泄漏转储的指示;我不确定如何处理所提供的信息。以下是 DebugDiag 的摘要:
Type of Analysis Performed Memory Pressure Analysis
Machine Name
Operating System Windows 7Service Pack 1
Number Of Processors
Process ID 15120
Process Image [***.exe]
System Up-Time 7 day(s) 24:49:54
Process Up-Time 3 day(s) 23:03:40
Processor Type X64
Process Bitness 32-Bit
Virtual Memory Summary
Size of largest free VM block 1,19 MBytes
Free memory fragmentation 99,3%
Free Memory 169,87 MBytes (8,29% of Total Memory)
Reserved Memory 1,05 GBytes (52,43% of Total Memory)
Committed Memory 804,26 MBytes (39,27% of Total Memory)
Total Memory 2 GBytes
Largest free block at 0x00000000`393f0000
Virtual Memory Details
Virtual Allocations 1,37 GBytes
Loaded Modules 268,4 MBytes
Threads 206,76 MBytes
System 4 KBytes
Page Heaps 0 Bytes
Native Heaps 1,56 MBytes
Virtual Allocation Summary
Reserved memory 894,86 MBytes
Committed memory 506,48 MBytes
Mapped memory 146,43 MBytes
Reserved block count 1251 blocks
Committed block count 2677 blocks
Mapped block count 82 blocks
应用程序因“System.IO.IOException:没有足够的存储空间来处理此命令”而死亡。试图创建一个 MemoryMappedView。它确实在执行过程中反复创建和销毁内存映射文件。
我可以看到有非常高的可用内存碎片(99.3%)但也有很少的可用内存(170MB)所以我想知道问题是泄漏还是碎片。