使用远程桌面登录文件服务器时,我偶尔会收到一条消息,提示“系统资源不足,无法完成请求的服务”,并且无法加载我的个人资料。几个月前我开始收到这条消息,同时还出现了其他奇怪的间歇性问题,例如偶尔无法打开或从服务器下载较大的文件。有时远程桌面根本无法连接,我必须本地登录服务器的控制台。
我曾在多台台式机上间歇性地看到此消息;去年,不同部门的六台台式机(除了硬件和防病毒软件外)几乎没有共同点,它们都开始收到此消息,同时还出现一般的不稳定性和图形故障;几个月后,问题自行消失了。每台出现此问题的计算机(包括首次启动时的文件服务器)似乎都打开了大量句柄(>100k,而不是通常的 20-30k)。大多数(但不是全部)都在运行一些存在大量错误的古老软件。但现在它发生在几乎不使用任何资源的服务器上:两个硬盘驱动器都未满一半;在具有 4GB RAM 的系统上,提交费用不到 1.5 GB;处理器<5%;打开的句柄数<20k。
还有哪些资源可能会耗尽?我该如何发现,因为系统似乎不愿意告诉我?或者这是一条通用的包罗万象的消息,意思是“我不知道 $%^& 出了什么问题”?
我确实会收到一条偶尔出现的事件日志消息,每周几次,说“服务器无法从系统分页池分配,因为池是空的。”不过,它似乎与其他症状完全没有关联。我不知道是什么原因造成的,也不知道系统在出现此消息时试图做什么。当我用谷歌搜索这条消息时,我只找到了一些模糊的建议,以确保我的所有软件和服务包都是最新的。确实如此。这可能与此有关,也可能是转移注意力的借口,但我不知道如何进一步调查,因为 Windows 没有提供任何详细信息。
答案1
我们的 2003 终端服务器也遇到过类似的问题。
我们收到很多应用程序抱怨错误消息“系统资源不足,无法完成请求的服务”。还收到有关分页池内存的事件抱怨。
然而,这很困难,因为很多时候事件日志本身会被损坏。
我们已遵循以下步骤:
http://support.microsoft.com/kb/312362
那里的建议给我们带来了不同的结果。问题虽然减少了,但并没有完全消除。
答案2
假设您正在使用 32 位 2003 服务器,那么您已经耗尽了内核地址空间中的分页池。
如果你正在使用 /3GB 开关,删除它会有所帮助,或者如果你需要为应用程序提供超过 2GB 的地址空间,然后使用 /userva= 开关尽可能增加内核地址空间的数量。
我知道关闭 PAE 有帮助,但我还没有测试过。
长期解决方案是迁移到 64 位操作系统。即使安装的 RAM 数量相同,问题也会消失。
答案3
我们在 Citrix 场中遇到了这个问题。用户无法获取其配置文件,并且会出现错误“系统资源不足,无法完成请求的服务”以及与组策略服务失败相关的错误。
特别是系统事件日志中的事件 1500、1502、1506。
原因不是内存或磁盘资源,而是注册表资源耗尽。罪魁祸首是某家制造商的复印式打印机的打印机驱动程序。这填满了注册表 .DEFAULT 配置单元。HKEY_CURRENT_USER/DEFAULT。c:\windows\system32\ 中的文件应该很小,比如说 300mb,但已经膨胀到近 2gb
解决方案是使用 regedit 删除使此注册表配置单元膨胀的条目,然后从 WinPE 启动盘启动,备份 .Default 文件,然后使用 chkreg.exe 将注册表配置单元压缩回正常大小
检查/f/c
由于某种原因,我不得不在另一台服务器上使用 .DEFAULT 配置单元的副本执行此操作,因为 chkreg 在出现问题的原始服务器上失败了。但是一旦传输回来并覆盖原始文件并重新启动服务器,问题就解决了。这只是在驱动程序问题再次膨胀注册表之前需要解决的问题。