由具有许多基于 Windows Vista 的打印机客户端基于 Windows Server 2008 的打印服务器上的内存泄漏导致的性能问题

症状

请考虑以下情形:

  • 您有一个基于 Windows Server 2008 的打印服务器。

  • 该打印服务器有许多基于 Windows Vista 的打印机的客户端。

在这种情况下,打印后台处理程序的内存使用量会显著增加随着时间的推移。例如,在几个几千个打印机的客户机将打印作业发送到打印服务器时,将出现此问题。最终,打印服务器变得无法响应,并且您必须重新启动要从此问题恢复的服务器。根据打印负载后一天或几个星期内已运行系统, 可能会出现此问题。

此外,当用户尝试从基于 Windows Vista 的计算机进行打印的文档,随机取消打印作业,并且用户会收到下面的错误消息︰

Windows 不能连接到该打印机。服务器打印后台程序服务没有运行。请重新启动服务器上的后台打印程序或重新启动服务器计算机

原因

出现此问题是由于后台打印程序服务中出现内存泄漏。打印后台处理程序服务维护未绑定客户端通知队列。另外,打印后台处理程序服务缓存打开每个客户端句柄的 DEVMODE 结构的打印机。在组合中,这些两项功能占用大量内存许多打印机的客户端访问该打印服务器时。

此外,基于 Windows Vista 的打印机的客户端使用异步远程过程调用 (Rpc) 来检索打印机更改通知。因此,很多异步 Rpc 计划时许多打印机的客户端使用的打印服务器。调度的 Rpc 的总数达到 6000 后,客户端用户可能会收到"症状"一节中提到的错误消息。

解决方案

修补程序信息

可以从 Microsoft 获得受支持的修复程序。然而,此修补程序仅用于解决本文中描述的问题。仅对出现这一特定问题的系统应用此修补程序。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。

如果此修复程序可供下载,则在此知识库文章的顶部会出现“修补程序下载可用”部分。如果未显示此部分,请与 Microsoft 客户服务和支持部门联系以获取此修复程序。

注意:如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。有关 Microsoft 客户服务和支持电话号码或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站︰

注意:"提供修补程序下载"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。

Windows Vista 和 Windows Server 2008 的重要修复程序包含在相同的程序包中。但是,这些产品中的只有一个可能"修补程序请求"页上列出。若要请求适用于 Windows Vista 和 Windows Server 2008 的修复程序包,只需选择页列出的产品。

系统必备组件

不需要任何先决条件。

重启要求

应用此修补程序后,必须重新启动计算机。

修补程序替换信息

此修补程序不替换任何其他修补程序。

文件信息

此修复程序的英文版具有的文件属性 (或更新的文件属性)在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用控制面板中的日期和时间项中的时区选项卡。

Windows Server 2008 中,基于 x86 的版本

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×