【发布时间】:2015-12-02 10:59:05
【问题描述】:
我正在使用对性能敏感的 WPF 应用程序,并且希望每秒注销我的应用程序的一些关键内存使用统计信息。我的总体目标是通过确保我的应用程序在运行时不会分配(太多)内存来尽可能避免垃圾收集的惩罚。
关于如何通过性能计数器或当前进程的 VirtualMemorySize64 获取此信息的信息很多。
我的问题是,VS2013 分析器告诉我这些调用本身会导致大量内存分配。
仅获取“Private Bytes”性能计数器的 RawValue 会导致在几秒钟内分配近 3MB,并为调用 VirtualMemorySize64 分配另外近 3MB。
有没有更高效的方法来获取这些数字?
【问题讨论】:
-
运行其他进程以收集统计信息。
-
这不是一个坏主意,但似乎重量级。您为什么不重新创建该评论作为答案,以防它最终成为最佳主意,以便其他人发表评论?
标签: .net wpf performance memory