我遇到了一个大问题,Etw 内存泄漏。我使用 Poolmon 发现,似乎 Etw 是存在泄漏的服务。只有当我运行用 C# .NET 开发的另一个程序时,才会发生此泄漏。我试图找出发生这种情况的原因,以便解决它。这需要几天时间,但似乎运行时间越长,情况就越糟。我使用了一些 .NET 内存分析器(如 DotMemory 和 DotTrace)来尝试查看是否是程序本身的问题,但我认为不是?例如,我的程序的旧版本在 PC 上运行,它运行良好,没有泄漏。似乎较新的 PC 有这个问题。我的程序确实使用 PerformanceCounters 来测量 PC 上的 RAM 数量,我试图禁用它,看看是否是它导致了这个问题。
下面是我用 xperf 制作的 Windows Performance Analyzer 转储的屏幕截图。但它似乎没有有用的数据?如果我展开它来查看什么占用了 ~63GB 的分页 RAM,它只是空白的,从地址 0 开始,似乎没有任何其他信息。
如果我查看 Etwr 上的非分页内存,我得到的结果基本相同。没有有用的信息?我还能做些什么来帮助弄清楚如何解决这个问题?
Etwr WPA 截图:
EtwD WPA 截图: