Windows Server 2008 x64、大文件传输和内存使用情况

Windows Server 2008 x64、大文件传输和内存使用情况

我正在跟进此事:

将大文件复制到远程服务器导致其耗尽物理内存

但我想我应该单独发布这个。

我有一台 64 位服务器,Xeon 5405,内存为 14GB,还有 Areca 1680 SATA 存储控制器,用于备份、NMS 和测试。它有 Intel Pro/1000EB 和 PL NIC。我在其上运行着 VMWare server 2.0,我想进行一些 P2V 转换,以便测试应用程序的服务包。

我发现在将 44GB VMDK 文件复制到服务器的过程中,内存耗尽。我以为是 VMWare Converter 中的内存泄漏,但在运行 Server 2008 的另一台 32 位服务器上进行转换不会出现问题,只要我将转换操作执行到 32 位服务器的本地磁盘即可。如果我尝试通过 Windows 文件共享将 44GB VMDK 文件复制到服务器,服务器最终会在后台消耗其所有内存,文件传输速度会变得非常缓慢。

所以我尝试从远程服务器进行 FTP。不幸的是,Windows FTP客户想要使用 C:\ 上的临时文件进行工作,但由于 C: 上没有那么多可用空间,因此无法正常工作。因此,我使用 Filezilla 作为客户端,我看到了类似的高内存使用率(尽管它上升到 75% 而不是 99%),并且传输开始时很快,然后变得非常慢。我在 FTP 客户端的传输速率数字中看到了这种快/慢/快/慢的行为,在网络中也看到了类似的行为

这解释了很多问题:

http://blogs.technet.com/askperf/archive/2007/05/08/slow-large-file-copy-issues.aspx

我尝试了 ESEUtil,它不处理内存问题,但是速度不是很快。

我现在正在使用 TeraCopy。它的速度为 16MB/秒,这很糟糕,但至少它是一致的。

我不思考这是我的存储控制器,因为我已经在本地服务器上复制了多 GB 的文件,没有任何问题。

想知道比我聪明的人是否知道解决此问题的神奇答案。在 64 位 Windows 出现之前,我从未担心过这个问题。我在创建 SQL Server 内存使用虚拟副本的服务器上也遇到了问题,但似乎已经稳定下来了。

答案1

尝试使用 Ken Tamaru 的 RichCopy 4。

http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx?pr=blog

尝试使用“关闭系统缓冲区”选项运行。

嗨嗨。

答案2

我们在使用 Windows 2003 32 位复制 30-40 GB 的文件时也遇到了类似的内存不足问题。

使用 TeraCopy 解决了这个问题,我获得了大约 55mb/秒的千兆位(将缓冲区增加到 2meg)。

答案3

在研究 VMware 问题时偶然发现了这篇文章,不过不管怎么说,我在 Windows 2008 Standard x86 上也遇到了这个问题。我发现在 NIC 上打开“流量控制”解决了我的问题。我和 MS 支持人员就这个问题进行了讨论,但他们没有任何回应,于是我在一个随机帖子中找到了此修复程序!

希望它能像治好我的一样治好你的头痛!祝你好运!

相关内容