如何检查Windows 2000上的虚拟内存碎片?

有没有一种方法来检查特定进程的虚拟地址空间,以检查该进程是否正在进行虚拟内存碎片化? 我知道这听起来像是我不应该担心的事情,但是我们有一个失败的OutOfMemory错误进程,但系统上有足够的可用内存。

该进程有大约500兆字节可用,并请求的内存调用为417兆字节。 这导致我认为没有足够的连续空间可用。 但是,我当然不能把这个问题作为一个问题提出来,直到我能certificate这一点。

在过去,我使用地址空间监视器( http://www.hashipse.org/asm/ )和ProcMon来帮助我解决这些types的问题,但在Windows 2000上不支持。任何人都有任何想法对于Windows 2000?

除了显而易见的,升级操作系统。 (相信我,这是一个完全不同的战斗)谢谢。

我不认为连续的空间是一个问题,通常当在Windows上创build页面文件时,它将成为磁盘上不可移动的对象,即使是碎片整理也不会移动它。 即使它是零散的,我不认为它应该引起任何问题,而不是一个缓慢的一点,我不会想到会有任何理由内存使用不能跨越一个页面的两个部分文件。 如果你真的关心它,并想排除它,但是你可以将页面文件缩小到最小,并对分区执行完整的碎片整理,然后恢复它,这样你就会希望它被放置在连续的空间。

但是,实际上,我认为你最好增加页面文件,或者理想的情况是增加更多的内存到服务器上。