我正在跟进:
将大文件复制到远程服务器会导致其耗尽物理内存
但是我觉得我会分开发表。
我有一个64位的服务器,至强5405,14GB内存和Areca 1680 SATA存储控制器,用于备份,NMS和testing。 它具有英特尔Pro / 1000EB和PL网卡。 我有VMWare服务器2.0上运行,我想做一些P2V转换,所以我可以testing一个应用程序的服务包。
我发现在将44GB的VMDK文件拷贝到内存不足的服务器上的过程中, 我以为这是在VMWare转换器内存泄漏,但在运行Server 2008的不同的32位服务器上进行转换没有问题,只要我转换到32位服务器的本地磁盘。 如果我然后尝试通过Windows文件共享将44GB VMDK文件复制到服务器,则服务器最终会将其所有内存消耗在幕后,并且文件传输速度变慢。
所以我尝试从远程服务器的FTP。 不幸的是,Windows FTP 客户端希望在C:\上使用Temp文件,因为我的C:上没有太多的可用空间,所以不能工作。 所以我使用Filezilla作为我的客户端,并且我看到类似的高内存使用率(尽pipe它高达75%而不是99%),并且传输开始得很快,然后变得非常慢。 我在FTP客户端的传输速率数字中看到这种快/慢/快/慢的行为,以及networking中的类似行为
这解释了很多问题:
http://blogs.technet.com/askperf/archive/2007/05/08/slow-large-file-copy-issues.aspx
我试过ESEUtil,并没有做记忆的事情,但它不是很快。
在这一点上我正在使用TeraCopy。 它获得了16MB /秒,这是相当糟糕的,但至less是一致的。
我不认为它是我的存储控制器,因为我已经在本地复制了多GB的文件在本地没有问题。
想知道如果人们比我更聪明,那么这个神奇的答案会让这个消失。 在64位Windows出现之前,我从来都不用担心这个问题。 我也有一个问题,我正在使用SQL Server内存使用虚拟副本的服务器上,但似乎已经稳定。
Ken Tamaru尝试使用RichCopy 4。
http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx?pr=blog
尝试使用“closures系统缓冲区”选项运行。
HTH。
我们有类似的内存不足问题复制与Windows 2003 32位30-40 gig文件。
使用TeraCopy解决了这个问题,我得到了大约55mb / sec的千兆位(把缓冲区增加到2meg)。
刚刚遇到这个post,同时看着VMware的问题,但无论如何,我有这个问题与Windows 2008的标准x86。 我发现在网卡上打开“stream量控制”解决了我的问题。 我正在与MS支持关于此事的谈判,他们什么都没有,我发现这个修复随机后!
希望它能像我一样摆脱你的头痛! 祝你好运!