2009-01-04 19 views
0

我想获得有关我的C#应用​​程序(Windows XP)何时耗尽内存的可靠信息。我做了我的机器上的一些研究和测试,并挑选了最可靠的perfmon的计数器:为什么perfmon无法提供可用内存,还有什么选择?

Memory.Pages Output/sec 
Memory.Available Bytes 

我使用的阈值和与运营商和它的作品不错,但在客户机(也是Windows XP)两个计数器上没用。可用内存不低于1GB,页面输出不变为零。读完一些日志后,我仍然没有看到任何有用的计数器。
提交的内存等计数器会提供正确的值,但是在跨过可用5GB的50%-60%之后,程序将耗尽内存(分页会导致性能下降)。

任何替代品?我不想在计算过程中被迫尝试分配内存并捕获OutOfMemory异常。

回答

0

When does a Windows process run out of memory?

长话短说,你想被检查专用字节数,虚拟字节和/或工作组为您的工艺(ES)。

+0

链接下的文章非常有帮助。我所学到的最相关的事情是,我应该在计算的开始时保留一次所需的内存。我可以在那里很容易地看到OutOfMemory。 另一方面,我仍然不知道如何从perfmon中得到*剩余*的数量。 – kelebron 2009-01-10 01:06:50

相关问题