Есть машина с очень быстрым RAID-массивом и быстрым интернет-соединением. Но он получил только 8 Гб памяти, что очень быстро заканчивается , когда идет загрузка.
Есть идеи как можно отключить или ограничить кеш?
(Я попытался отключить запись кэша из диспетчера устройств. Но это просто запись кэша, и это не помогло.)
Ответы:
Весь смысл кеша в том, что он использует неиспользуемый оперативный памяти и отказывается от него, как только приложение запрашивает больше. Таким образом, вы не хотите ограничивать его размер, так как это приведет к тому, что свободный баран будет полностью потрачен впустую.
источник
Вы должны вызвать системный API SetSystemFileCacheSize ().
Документировано здесь: http://msdn.microsoft.com/en-us/library/aa965240.aspx.
Некоторые программы с графическим интерфейсом позволяют это: http://technet.microsoft.com/en-us/sysinternals/bb897561
Но вы можете предпочесть CLI, чтобы автоматически запускать его при запуске системы: http://www.uwe-sieber.de/ntcacheset_e .html (посмотрите в середине страницы, это работает для 2k8)
Или просто напишите сценарий powershell, вызывающий SetSystemFileCacheSize ()
Обратите внимание, что настоятельно не рекомендуется отключать кэш для производственного использования.
Часто для виртуализированных машин размер кэша ограничивается небольшим значением, а не отключается.
источник
Мы также столкнулись с этой проблемой на Windows Server 2008 R2 в нашей компании. В нашем случае машина застряла полностью. Кажется, это ошибка в этой серверной версии Windows, потому что она не возникала при тех же обстоятельствах ни на моей гораздо меньшей машине с Windows 7, работающей в VirtualBox, ни в Linux.
Вы можете установить кеш на определенный предел с помощью API, как уже опубликовали другие, но вы можете найти приложения, которые будут использовать его напрямую, такие как SetSystemFileCacheSize.exe или NT Cache Setter .
Недостатком является то, что вам нужно устанавливать кэш после каждой перезагрузки. Вы также можете очистить весь кэш за один раз.
Мы установили файловый кеш на нашей виртуальной машине, имеющей 14 ГБ ОЗУ, до 4 ГБ, и это работает. Также хорошо работает flush, и вы можете увидеть это прямо в диспетчере задач.
Образцы командной строки:
Показать текущие настройки Windows:
Показать справку:
Установите минимальный размер 8 МБ, а максимальный - 128 МБ:
Отключите минимальный размер и установите максимальный размер 128 МБ:
Отключить минимальный и максимальный размер:
Очистить кэш файлов:
Примечание. Инструмент должен быть запущен с правами администратора.
источник
Чтобы ограничить кэш файлов, убедитесь, что не включен параметр Максимальная производительность общего доступа к файлам, и вы можете указать минимальный объем кеша файлов памяти, выбрав «Минимизировать объем используемой памяти» или «Баланс».
Чтобы проверить текущую конфигурацию, перейдите в: Пуск-> Панель управления-> Сетевые подключения-> Подключение по локальной сети-> На вкладке Общие, Свойства-> Выбрать файл и принтер-> Свойства .. Если выбрано значение Развернуть, выберите любой другой вариант.
источник