Как я могу скопировать большой файл в / из сетевого ресурса в Windows, не надувая файловый кеш?PowerShell или .NET, в идеале - PullRequest
4 голосов
/ 02 марта 2012

Я работаю с выделенными серверами SQL Server для Windows 2008 R2 и 2003; в течение дня и ночи мне нужно копировать большие файлы с компьютеров в сетевые папки для резервного копирования и доставки журналов.

Существует задокументированная проблема, когда ОС выделяет много памяти для файлового кэша для обработки этих копий, и это потенциально лишает память других функций. (В конечном итоге на Win2k8 R2 диспетчер задач сообщает, что в результате этого поведения Свободная память = 0). Но эти конкретные файлы никогда не читаются после копирования, и "на всякий случай" кэширует данные файла. не имеет смысла для этой функции.

Существует ли простой .NET или PowerShell способ копировать файлы и не увеличивать этот файловый кеш? Самый большой файл, с которым я имею дело, это 300+ ГБ.

В настоящее время для этой функции мы используем RoboCopy в 2008 R2, xcopy в 2003 и собственное задание копирования файлов доставки журналов в SQL Server.

Я слышал о переключателе / ​​J в XCOPY в win2k8R2 и специальной DLL от Exchange, которая, как утверждают некоторые, помогает решить эту проблему, но было бы неплохо иметь действительно чистое и простое решение.

См. Также http://blogs.msdn.com/b/ntdebugging/archive/2007/11/27/too-much-cache.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...