当您备份一个较大的系统卷时,备份程序将失败

Support for Windows Server 2003 ended on July 14, 2015

Microsoft ended support for Windows Server 2003 on July 14, 2015. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 304101
症状
当试图使用 NTBackup.exe 或通过使用 NT 备份 API 的第三方备份程序来创建备份时备份可能无法成功完成。即使在服务器上本地运行该程序,可能会发生此行为。此外,您可能会遇到一个或多个以下症状:
  • 一个或多个以下错误消息出现在应用程序日志中:
    错误消息 1
    错误 1450年: 要完成所请求的服务存在不足的系统资源。

    错误 1450年: / 十六进制 0x5aa ERROR_NO_SYSTEM_RESOURCES

    操作系统错误 1450年不足的系统资源存在,无法完成所请求的服务。

    在"设备"上的写入失败状态 = 1450年
    错误消息 2
    错误 1130年: 没有足够的服务器存储是可用来处理该命令。

    错误 1130年 / 十六进制 0x46a ERROR_NOT_ENOUGH_SERVER_MEMORY

    备份或还原操作异常终止。
  • 事件 ID 2020 和事件 ID 2021 消息可能会生成由服务器服务。

    注意通常,不会出现事件 ID 2020 和事件 ID 2021 消息。
  • 如果运行的惠普 (HP) OmniBack 备份程序,您可能会收到与以下类似的错误消息:
    [81:78] C:\foldername\file.name
    无法读取在对方 436176408(:1) 57256 字节: ([1450]
    没有足够的系统资源存在完成所请求的服务)。
  • 如果您在 Windows 任务管理器中查看 性能 选项卡,您注意到非分页的内核内存是很低。
注意本文介绍的问题不相关的原因,您可能会收到以下错误消息。如果您收到这些错误消息仅在备份时这两个的较大的系统卷大多数可能的原因是此文章描述。

若要帮助您确定您遇到此问题时,如果,启动 Windows 任务管理器,然后单击 性能 选项卡。较低右侧定位 内核内存 (K) 的区域,然后为 分页 记下值。您可能会遇到此问题,在 Microsoft Windows 2000 或 Windows NT 4.0 中,当此值达到大约 160 兆字节 (MB)。或者,您可能会遇到此问题,在 Microsoft Windows Server 2003 中的,当此值超过 160 MB。如果您为更高的值,设置页面缓冲的池内存的注册表项,您将不会遇到此问题之前使用页面缓冲的池内存的很多较高值 (页面缓冲的池内存的使用量达到大约 80%的设置的值时,会出现此问题)。如果您有 gflags 设置为启用池标记,如果您使用 Poolmon 实用工具,您看到 MmSt 标签的一个更高的使用情况。这是用于映射操作系统的内存用来跟踪共享的文件的池标记。
原因
与此问题的两个原因。首先列出更频繁的原因:
  • 打开比在内存缓存管理器可以处理更多的文件了。如此一来,缓存管理器已用尽可用的页面缓冲的池内存。
  • 备份程序已尝试备份的大小大于的备份 API 可以访问该版本的操作系统的文件。这有相同的结果 (也就是页面缓冲的池已耗尽)。

    注意 此第二个问题是在一台基于 Windows NT 4.0 的计算机上发生的可能性更大。
根据您是否遇到此问题,在 Windows Server 2003 中、 在 Microsoft Windows 2000 中,或 Windows NT 4.0 中,每个问题的解决方法会有所不同。
解决方案

Windows Server 2003 和 Windows 2000

重要此分区、 方法,或任务包含告诉您如何修改注册表的步骤。但是,如果注册表修改不当可能会出现严重问题。因此,请确保您仔细按照这些步骤。附加的保护注册表之前先备份您对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756如何备份和还原在 Windows 注册表


您可能需要更改两个注册表设置。您始终必须更改第一个设置。具体取决于您的系统的配置,您可能还需要更改第二个设置。

注册表设置 1

  1. 单击 开始、 单击 运行,在 打开 框中键入 regedit,然后单击 确定
  2. 找到并单击以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
  3. 编辑 菜单上指向 新建,然后单击 DWORD 值
  4. 键入 PoolUsageMaximum 作为输入的名称,然后按 ENTER 键。
  5. 用鼠标右键单击 PoolUsageMaximum,然后单击 修改
  6. 单击 十进制
  7. 数值数据 框中键入 60,然后单击 确定

    重要
    • 60 用作您的初始值。如果您的备份失败,40 用作您的值。如果的不工作,您必须更改备份程序以减少页面缓冲池的需求的行为。如果值的工作要增大的大约 25%的值,直到备份不起作用。成功备份是否使用本文中介绍的第二个注册表设置。
    • 请确保此注册表设置的值不超过 60。
    • 如果您正在使用该 / 3gb 交换机中,使用 40 使用的初始设置。 请注意此值是一个百分比值。
  8. 退出注册表编辑器。
  9. 重新启动计算机。
因为您必须测试这些设置在最同备份过程中,您可能不得不等待一个月,如果您不确定哪个备份占用了最大资源完成整个备份周期。由于这种情况下 Microsoft 建议您首先测试盘低值。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
312362服务器不能从系统页面缓冲池分配内存

注册表设置 2

  1. 单击 开始、 单击 运行、 在 打开 框中键入 regedit 和然后单击 确定
  2. 找到并单击以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
  3. 编辑 菜单上指向 新建,然后单击 DWORD 值
  4. 键入 PagedPoolSize 作为输入的名称,然后按 ENTER 键。
  5. 用鼠标右键单击 PagedPoolSize,然后单击 修改
  6. 单击 十六进制
  7. 数值数据 框中键入的 FFFFFFFF,然后单击 确定

    重要
    • 设置为 0xFFFFFFFF (-1) 的 PagedPoolSize 分配而不是计算机的其他资源的最大的页面缓冲的池。这通常是在域控制器或 $ 终端服务器上所必需的。默认状态下,大多数 Windows 2000 系统似乎被限制为 160 MB 的最大页面缓冲的池大小。通过从公共的 Web 站点下载内核调试程序和打开您要使用在调试器中的核心转储,可以验证此数据类型。若要使用该命令是 ! vm。这将显示一个页面缓冲的池 163840 的 KB 的最大为例。添加此值可以减少页表项 (pte) 的系统上可用的和扩展到 Windows 2000 中 343 MB 的页面缓冲的池的最大值。 可以为一个较大的值,在 Windows Server 2003 中扩展页面缓冲的池的最大大小。

      注意 则大得多比在 Windows 2000 中默认的和 Windows Server 2003 的最大页面缓冲的池值。 通常,Windows Server 2003 值是高于在 Windows 2000 中找到值至少 50%。 这些较大的值使其更大可能会遇到此问题的页面缓冲的池值分配给这篇文章中描述的问题的位置。 但是,则仍可能会发生此问题。
    • 此值限制系统的可用 pte。pte 是您的系统使用的另一个不相关的系统资源。此设置可能会导致意外停止,并在蓝色屏幕上显示停止 0x3F 错误,当它开始时您的操作系统。您可以从这中进行恢复,通过使用在系统重新启动菜单或恢复控制台 上一次正确 重新启动选项。使用性能监视器来查看 可用系统页表项 计数器。如果观察到的可用值超过 40,000,您可以添加 PagePoolSize 设置。
    • 如果您正在运行 / 3gb/ PAE 一起,不设置此设置不全面的测试的情况下,并在建立完全多少系统 PTES 您必须在您的环境中之前。您可能会看到在 10,000 20,000 可用的范围内的值。用于配置页面缓冲的池内存,但永远不会低于 10,000 可用的系统 pte 的文章。未设置此为其他任何值如果您正在使用该 / 3gb 切换。唯一受支持的值是 0、 0A000000 和 FFFFFFFF。
  8. 退出注册表编辑器。
  9. 重新启动计算机。
有关如何避免以及如何解决此问题的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256004如何对"STOP 0x0000003f"和"STOP 0x000000D8"Windows Server 2003 中的错误消息,Windows XP 和 Windows 2000 的疑难解答

Windows 4.0 NT

重要此分区、 方法,或任务包含告诉您如何修改注册表的步骤。但是,如果注册表修改不当可能会出现严重问题。因此,请确保您仔细按照这些步骤。附加的保护注册表之前先备份您对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756如何备份和还原在 Windows 注册表


注意您必须使用 Windows NT 4.0 Service Pack 6a。

解决第一个问题

  1. 启动注册表编辑器 (Regedt32.exe)。
  2. 找到并单击以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management
  3. 编辑 菜单上单击 添加值,然后添加以下注册表值:
    值名称: UnusedFileCache
    数据类型: REG_DWORD
    基数: 十进制
    值数据: 15
    注意此数值表示池的可消耗未使用的段的百分比。值为 0 表示系统将使用默认的行为类似于 Windows NT 4.0 Service Pack 3。值为 5 到 40 表示系统将剪裁未使用的文件缓存池的用途。5 是最高 (也就是,它会增加高速缓存的大小最少) 和 40 是最高 (也就是它允许它剪裁缓存之前增长最大高速缓存)。

    重要
    • 15 用作您的初始值。如果不成功备份,使用 5 作为您的值。如果这不起作用,必须更改行为的备份程序以减少分页的需求或者您必须升级到 Windows 2000,在多个双页面缓冲的池是池的可 (用于详细信息请参阅 Windows 2000 部分)。如果此值的工作要它增加约 20%,直到备份将失败。成功备份是否使用本文中介绍的第二个注册表设置。
    • 如果您正在使用该 / 3gb 开关,请使用 5 作为您的初始设置。
  4. 退出注册表编辑器。
  5. 重新启动计算机。
因为您必须测试这些设置在最同备份过程中,您可能不得不等待一个月,如果您不确定哪个备份占用了最大资源完成整个备份周期。因此,Microsoft 建议您首先测试盘低值。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
171458Windows NT 可能会在打开较大的文件的请求失败

解决第二个问题

一个可能的解决方法是限制备份,以便它一次备份一个文件。这可能也取决于要备份文件的大小可能不起作用。(它被应小于 180 千兆字节 [GB] 的文件上工作。如果要备份多个较大的文件,但每个文件都小于 180 GB,您也可以尝试此解决办法。您必须按照该步骤还解决第一个问题。对于大于 180 GB 的文件,没有解决方法存在。因此,您必须将系统升级到 Windows 2000。如果试图备份作为一种解决方法的远程系统将会遇到同样的问题。
  1. 启动注册表编辑器 (Regedt32.exe)。
  2. 找到并单击以下注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management
  3. 编辑 菜单上单击 添加值,然后添加以下注册表值:
    值名称: DisablePagedPoolHint
    数据类型: REG_DWORD
    基数: 十进制
    值数据: 1
  4. 退出注册表编辑器。
  5. 重新启动计算机。
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
NTBackupreadNTBackupwrite 都使用缓冲 I/O。这意味着 Windows NT 缓存流根据执行的 I/O。它也是将备份文件的元数据的唯一 API。此缓存来自有限的资源: 即,池和非页面缓冲的池。因此,非常大量的文件或非常大的文件可能会导致运行低池资源。

有几个因素可能会耗尽提供的页面缓冲的池内存。您可以启用池标记并采取 poolsnaps 以不同的时间间隔,以帮助您了解哪个驱动程序是 exhausting 页面缓冲的池内存。如果该 poolsnaps 指出 MmSt 标签 (Mm 部分对象原型 pte) 是最大的使用者,并为超过 80 MB,非常大量的文件以在服务器上可能打开了。

如果该项不存在,可能的最大页面缓冲的池内存的计算机上是 343 MB 的页面缓冲池在 Windows 2000 中,与页面缓冲的池键设置为 FFFFFFFF 或 164 MB。可能的最大页面缓冲的池内存是在 Windows NT 的 192 MB。默认状态下,内存管理器会尝试修剪已分配页面缓冲的池内存,当系统达到总页面缓冲池的 80%。例如对于 343 MB 的 80%是 274 MB。如果内存管理器不能剪裁以满足该需求的足够快的速度,可能会出现本文"症状"一节中列出的事件。如果您将内存管理器将开始修整过程更早版本 (例如,它达到 40%时) 调整较长足以计算机可以跟上页面缓冲的池请求突发的高峰使用过程中,以便它不会分页的池内存不足,无法运行。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
192409打开的文件可能会导致报告 INSUFFICIENT_RESOURCES 内核


本文讨论了在第三方产品是由独立于 Microsoft 的公司生产的。Microsoft 会使没有担保,或暗示或其他方式,性能或可靠性,这些产品。

属性

文章 ID:304101 - 上次审阅时间:10/30/2006 21:26:36 - 修订版本: 6.4

Microsoft Windows Server 2003 Standard Edition, Microsoft Windows Server 2003 Enterprise Edition, Microsoft Windows Server 2003 Datacenter Edition, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Datacenter Server, Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Windows NT Server 4.0 企业版

  • kbmt kbfaq kbprb KB304101 KbMtzh
反馈