我们的 Windows 2003 服务器运行 SQL Server 2005 SP1,遇到了问题。我们注意到有时整个服务器都无响应,我截取了发生这种情况时任务管理器的屏幕截图。我注意到在此期间进程未显示,所有内存信息和句柄都消失了(如屏幕截图所示)。有人知道这个系统可能出了什么问题吗?我打算在周末把它拆下来运行 Memtest86。
截屏:http://dl.dropbox.com/u/2058/windows_screenshot.png
重新启动可以解决该问题,但我想找出问题的原因并修复它。
当发生这种情况时,我也尝试运行 ping,并在事件日志中收到以下错误:
“应用程序弹出:ping.exe - 应用程序错误:应用程序无法正确初始化 (0xc0000142)。单击“确定”终止该应用程序。”
谢谢,德里克
答案1
根据您的回答和评论,我猜您还同时运行了 PAE 和 /3GB 开关,这会导致您的系统像 80 岁老人的关节炎关节一样僵硬。您需要 a) 阅读有关 PAE 和 /3GB 的资料,以及 b) 出于对 $DEITY 的热爱,迁移到 x64 架构。我知道经济很紧张,但如果您像这样给服务器带来压力,那么是时候迁移到 2003 年后的技术了。一些关于 /3GB 和 PAE 的链接:
在 x86 32 位 Windows Server 2003 和 2000 中启用 PAE 以使用 4GB 或更多 RAM 内存
如何监视和排除 Exchange Server 2003 或 Exchange 2000 Server 中分页池内存的使用故障
我敢说有什么东西试图在内核地址空间中保留一大块连续的虚拟内存地址,而系统此时被锁定了。检查的唯一方法是运行 Poolmon 并监控系统……但就像我说的,购买新硬件并迁移到 x64 基础架构可能值得您花时间。
答案2
我相信从 boot.ini 文件中删除 /3GB 开关可以解决问题。在删除它并重新启动服务器之前,我的空闲系统页表条目数为 844。删除它并重新启动后,我的计数现在为 157252。我会等几天看看它的表现如何,但我相当有信心它已经解决了问题。