windows 2003复制大文件失败,提示服务器资源系统资源不足,无法完成请求的服务或者没有足够的系统资源存在,无法完成请求的服务
查了半天终于找到了解决方法,微软给出来了解决办法,地址如下:
当您尝试通过使用 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 备份程序,您可能会收到与以下类似的错误消息:
[] C:\foldername\file.name 81:78
无法读取在对方 436176408(:1) 57256 字节为单位): ([1450]
没有足够的系统资源存在,无法完成请求的服务。)。
-
如果您在 Windows 任务管理器中查看性能选项卡,您注意到非分页的内核内存会很低。
注意有关与本文描述的问题无关的原因,可能会收到这些错误消息。如果您收到这些错误消息仅在您备份大型系统卷,这两个最可能的原因是本文所述。
若要帮助确定如果您遇到此问题,启动 Windows 任务管理器,然后单击性能选项卡。右下角,找到内核内存 (K)区域中,然后记下有关分页的值。当这个值达到大约 160 兆字节 (MB) 时,您可能会遇到此问题,在 Microsoft Windows 2000 或 Windows NT 4.0 中。另外,此值超过 160 MB 时可能会遇到 Microsoft Windows Server 2003 中的此问题。如果已将页面缓冲的池内存的注册表项设置为更高的值,就不会遇到此问题之前使用较高值的页面缓冲的池内存 (页面缓冲的池内存使用量达到约 80%的设置的值时,会出现此问题)。如果必须用 gflags设置为打开池标记,如果您使用 Poolmon 实用工具时,您会看到该MmSt标记的较高的利用率。这是用来映射用于跟踪共享的文件的操作系统内存池标记。
有关此问题的两个原因。首先列出最常见的原因是:
-
更多的文件是打开内存高速缓存管理器无法处理。因此,缓存管理器已经用完了可用的页面缓冲的池内存。
-
备份程序已尝试备份的文件的大小大于的备份 API 可以访问在该版本的操作系统。这具有相同的效果 (即,耗尽页面缓冲的池)。
注意此第二个问题则更容易发生基于 Microsoft Windows NT 4.0 的计算机上。
根据您遇到的问题,在 Windows Server 2003 中,在 Microsoft Windows 2000 中,或在 Windows NT 4.0 中的是否不同的每个问题的解决方法。
Windows Server 2003 和 Windows 2000
重要此部分、 方法或任务包含一些介绍如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重的问题。因此,请确保仔细按照下列步骤操作。为增加保护,对其进行修改之前备份注册表。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
如何在 Windows 中备份和还原注册表
您可能需要更改两个注册表设置。您必须始终更改第一个设置。这取决于您的系统配置,可能还需要更改第二个设置。
注册表设置 1
-
单击开始,单击运行,在打开框中,键入注册表编辑器,然后单击确定。
-
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory 管理
-
在编辑菜单上,指向新建,然后单击DWORD 值。
-
作为项名称,键入PoolUsageMaximum ,然后按 enter 键。
-
用鼠标右键单击PoolUsageMaximum,然后单击修改。
-
单击十进制。
-
在数值数据框中,键入60,然后单击确定。
重要
-
使用初始定义值为 60。如果您的备份不成功,则使用 40 作为您的值。如果这样不起作用,则必须更改备份程序以减少页面缓冲池的需求的行为。如果值的工作方式,可能需要增加约 25%的值,直到备份不起作用。如果备份不成功,则使用本文中介绍的第二个注册表设置。
-
请确保此注册表设置的值不是有 60 多家。
-
如果您正在使用/3GB开关,则使用 40 的初始设置。请注意此值的百分比值。
-
退出注册表编辑器。
-
重新启动计算机。
压力非常大的备份过程,您必须测试这些设置,因为您可能需要等一个月的整个备份周期来完成,如果您不确定哪些备份占用的最大资源。由于这种情况下,Microsoft 建议您测试盘低值。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
服务器不能从系统页面缓冲池分配内存
注册表设置 2
-
单击 开始、 单击 运行、 在 打开 框中键入 regedit 和然后单击 确定
-
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
-
在 编辑 菜单上指向 新建,然后单击 DWORD 值。
-
键入 PagedPoolSize 作为输入的名称,然后按 ENTER 键。
-
用鼠标右键单击 PagedPoolSize,然后单击 修改。
-
单击 十六进制。
-
在 数值数据 框中键入的 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。
-
退出注册表编辑器。
-
重新启动计算机。
有关如何避免以及如何解决此问题的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
如何对"STOP 0x0000003f"和"STOP 0x000000D8"Windows Server 2003 中的错误消息,Windows XP 和 Windows 2000 的疑难解答
Windows 4.0 NT
重要此分区、 方法,或任务包含告诉您如何修改注册表的步骤。但是,如果注册表修改不当可能会出现严重问题。因此,请确保您仔细按照这些步骤。附加的保护注册表之前先备份您对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
如何备份和还原在 Windows 注册表
注意您必须使用 Windows NT 4.0 Service Pack 6a。
解决第一个问题
-
启动注册表编辑器 (Regedt32.exe)。
-
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management
-
在 编辑 菜单上单击 添加值,然后添加以下注册表值:
值名称: 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 作为您的初始设置。
-
退出注册表编辑器。
-
重新启动计算机。
因为您必须测试这些设置在最同备份过程中,您可能不得不等待一个月,如果您不确定哪个备份占用了最大资源完成整个备份周期。因此,Microsoft 建议您首先测试盘低值。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
Windows NT 可能会在打开较大的文件的请求失败
解决第二个问题
一个可能的解决方法是限制备份,以便它一次备份一个文件。这可能也取决于要备份文件的大小可能不起作用。(它被应小于 180 千兆字节 [GB] 的文件上工作。如果要备份多个较大的文件,但每个文件都小于 180 GB,您也可以尝试此解决办法。您必须按照该步骤还解决第一个问题。对于大于 180 GB 的文件,没有解决方法存在。因此,您必须将系统升级到 Windows 2000。如果试图备份作为一种解决方法的远程系统将会遇到同样的问题。
-
启动注册表编辑器 (Regedt32.exe)。
-
找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory_Management
-
在 编辑 菜单上单击 添加值,然后添加以下注册表值:
值名称: DisablePagedPoolHint
数据类型: REG_DWORD
基数: 十进制
值数据: 1
-
退出注册表编辑器。
-
重新启动计算机。
阅读(10287) | 评论(0) | 转发(0) |