全新安装并启动 OS Windows x64 后,我启动了 cmd.exe(任何其他 exe)并关闭了它。然后我启动 rammap.exe ( http://technet.microsoft.com/en-us/sysinternals/ff700229.aspx )。在名为“进程”的第二页上,我按进程名称对列表进行了排序,看到 cmd.exe 仍然消耗内存(4K 私有和 16K 页表 = 20K)。我第二次启动它,新项目出现在这个列表中(每个进程启动+终止一个)。因此,每个进程终止都会占用 20K 的内存。
如果您的软件经常在此类服务器操作系统上启动和终止进程,您会发现几天或几周后操作系统开始显示奇怪的错误(通常是关于内存不足)。几天后,您要做的就是重新启动操作系统。重新启动后,它在几乎相同的时间段内都可以正常工作。
我在每个 2008 服务器 R2 x64(+SP1 和 -SP1)上都注册了这个问题,并在 2003 服务器 x64 上间接(不支持 rammap)。
在 Windows 7 x32(+SP1 和 -SP1)上未观察到该问题。
截屏
看这个问题探索的第一步页表快速增长
任何人都可以反驳或批准我的假设和观察吗?谁能告诉如何解决这种行为?这是错误还是不是?