51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【周活动】 找茬--心里圈的故事 !【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全
【109期】:python爬虫的魔力 !双11剁手不吃土,来投稿赚回血红包! 【专题】用尽一切办法只为让你学好用例 自学软件测试那点事
查看: 1441|回复: 1

小知识:Windows操作系统的文件拷贝极限

[复制链接]

该用户从未签到

发表于 2014-6-12 08:19:41 | 显示全部楼层 |阅读模式
Windows有文件拷贝的限制么?如果有的话,你知道Windows一次最多能复制多少文件么?或许你会认为这个问题很无聊,不过,Ace's Hardware的网站访客的确这么测试了一次,结果出乎我们的意料:Windows在特定的硬件环境下无法拷贝大量的文件,否则会引起1450错误,从而导致重启。根据这位用户的大量测试,32位Windows XP的限制是76万个,Server 2003可以达到270万。但是,在AMD Athlon Socket 940 (nForce3 chipset) 和Socket 939 (Nvidia chipset) 下该测试居然通过了,而使用Intel Core 2 Quad Q6600、Intel Xeon 3070 处理器复制76万个文件会导致失败,基于Xeon的Server 2003 R2则倒在了272万的门槛下。

在咨询了Intel之后,我们得到了如下回复:这个问题是由于1450错误引起的,微软知识库对此做出过解释。微软的解释是Intel和AMD平台都会受此影响,导致“备份无法完成”。文档发布于2006年10月30号,列出的受影响系统有Windows Server 2003、Windows 2000和Windows NT4(这个文档发布的时间早于Vista系统发布,所以尚不可得知Vista系统到底如何)。然而在直接对微软进行询问在不同平台下为何会产生差异时,一位代表表示“第一次听说此事,公司会对此进行研究,可能的话会提供解决方案”。

对于这个错误,微软的知识库上已经提供了修改注册表的方案,而Ace's Hardware的帖子上也有相关讨论。

访问:微软知识库,里列出了一些解决方案:

解决方案

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. 单击 Decimal 。

7. 在 数值数据 框中, 键入 60然后单击 确定 。

重要? 用作初始值 60。 如果不成功备份, 使用 40 作为您的值。 如果这样不能连接, 必须更改行为备份程序以减少页面缓冲池的需求。 如果值工作, 您可能需要通过大约 25% 增加值之前备份不适用。 如果备份是成功, 使用二注册表设置本文所述。

? 确保此注册表设置值为是不超过 60。

? 如果使用 / 3 GB 开关, 用作 40 初始设置。 注意, 此值是一个百分比值。

8. 退出注册表编辑器。

9. 重新启动计算机。

因为必须期间最 stressful 备份, 测试这些设置可能需要等待一个月对整个备份循环, 如果您不确定是哪个备份消耗资源最。 由于的这, Microsoft 建议您先测试低值。 有关详细信息, 请单击下列文章编号以查看 Microsoft 知识库中相应:

312362 服务器不能从系统页面缓冲池分配内存

注册表设置 2

1. 单击 开始 , 单击 运行 , 类型 regedit 在 打开, 框, 然后单击 确定

2. 找到并单击以下注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

3. 在 " 编辑 " 菜单, 指向 New , 然后单击 DWORD 值 。

4. 类型 PagedPoolSize 与项名和然后按 Enter。

5. 右击 PagedPoolSize , 然后单击 修改 。

6. 单击 十六进制 。

7. 在 数值数据 框中, 键入值 FFFFFFFF然后单击 确定 。

重要? 将 PagedPoolSize 设置 0xFFFFFFFF (- 1) 分配大页面缓冲池代替对计算机其他资源。 这通常需要域控制器或终端服务器上。 默认情况下, 大多数 Windows 2000 系统似乎限于页面缓冲池大小为 160MB。 您可通过从公共网站下载内核调试器和打开与要使用调试器中内核转储验证此。 命令用于是 vm ! 对 163840 KB, 大 (例如此显示页面缓冲池。 减少页表条目 (PTE) 系统上可添加此值和最页池大扩展到 Windows 2000 中 343 MB。 页面缓冲池大小可扩展为 Windows Server 2003 中大值。

注意 : 默认和 Windows2003Server 大页面缓冲池值是远远大于在 Windows 2000。 通常, 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. 重新启动计算机。
回复

使用道具 举报

该用户从未签到

发表于 2014-6-13 06:03:12 | 显示全部楼层
看了楼主的帖子,不由得精神为之一
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2019-12-16 03:23 , Processed in 0.070189 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表