Microsoft Visual Studio 2017 提供诊断工具。使用这个工具,我们可以随时读取程序运行过程中使用的内存,非常有用。然而,这个读数必须是手动的。
我要解决的原始问题是在单个进程中获取每个实例的峰值内存使用量。如果我可以从诊断工具中输出内存使用量和时间,那么我可以编写一个程序来找到一个时间间隔内的峰值内存使用量,其中记录每个时间间隔以解决一个实例。
我知道诊断工具测量的内存实际上PeakPagedMemorySize64
是类的Process
,而我真正想知道的是 的值PeakWorkingSet64
。尽管如此,这是可以接受的,因为这两个值非常接近(例如PeakPagedMemorySize64 = 1,272,377,344 bytes
和PeakWorkingSet64 = 1,225,867,264 bytes
)。