Назад | Перейти на главную страницу

Windows Server 2008 x64, передача больших файлов и использование памяти

Я слежу за этим:

При копировании большого файла на удаленный сервер ему не хватает физической памяти

Но решил, что выложу это отдельно.

У меня есть 64-битный сервер Xeon 5405 с 14 ГБ памяти и контроллер хранилища Areca 1680 SATA, который я использую для резервного копирования, NMS и тестирования. Он имеет сетевые карты Intel Pro / 1000EB и PL. У меня есть сервер VMWare 2.0, работающий на нем, и я хочу сделать некоторые преобразования P2V, чтобы протестировать пакет обновления приложения.

Я обнаружил, что в процессе копирования файла VMDK размером 44 ГБ на сервер ему не хватает памяти. Я думал, что это утечка памяти в VMWare Converter, но выполнение преобразования на другом 32-разрядном сервере под управлением Server 2008 не вызывает проблем, если я выполняю преобразование на локальный диск 32-разрядного сервера. Если я затем попытаюсь скопировать файл VMDK размером 44 ГБ на сервер через общий доступ к файлам Windows, сервер в конечном итоге получит всю свою память, потребляемую за кулисами, и передача файлов замедлится до обхода.

Поэтому я попробовал 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. Он получает 16 МБ / с, что довольно дрянно, но, по крайней мере, стабильно.

Я не считать это мой контроллер хранилища, так как я без проблем скопировал файлы размером несколько ГБ на сервер локально.

Интересно, знают ли люди умнее меня волшебный ответ, который заставит это уйти. Я никогда не беспокоился об этом, пока не появилась 64-битная Windows. У меня также есть проблема на сервере, который я делаю виртуальную копию с использованием памяти SQL Server, но, похоже, ситуация стабилизировалась.

Попробуйте использовать RichCopy 4 Кена Тамару.

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

Попробуйте запустить с опцией «Отключить системный буфер».

HTH.

Просто наткнулся на этот пост, когда изучает проблему с VMware, но в любом случае у меня была эта проблема с Windows 2008 Standard x86. Я обнаружил, что включение «Flow Control» на сетевой карте решило мою проблему. Я вел переговоры с MS Support об этом, и у них ничего не было, и я нашел это исправление в случайном посте!

Надеюсь, он избавит вас от головной боли, как и мою! Удачи!

У нас были аналогичные проблемы нехватки памяти при копировании файлов размером 30-40 гигабайт в 32-разрядной версии Windows 2003.

Использование TeraCopy решило проблему, я получаю около 55 МБ / с через гигабит (увеличивая буфер до 2 МБ).