Мне всегда было интересно, почему Windows не позволяет вам устанавливать произвольный размер для кэша файловой системы. Что делать, если у вас в ноутбуке медленный жесткий диск, но загружена свободная системная память? Разве вы не можете увеличить эту память, чтобы ускорить доступ к жесткому диску?
Я нашел слегка документированный твик, который позволит вам указать Windows использовать больше кеша для «пула» NTFS, что должно повысить производительность, если ваша система все время открывает и закрывает много файлов, как у меня.
Согласно документации Microsoft:
Увеличение физической памяти не всегда увеличивает объем памяти выгружаемого пула, доступной для NTFS. Установка для memoryusage значения 2 увеличивает предел памяти выгружаемого пула. Это может повысить производительность, если ваша система открывает и закрывает много файлов в одном и том же наборе файлов и еще не использует большие объемы системной памяти для других приложений или для кэш-памяти. Если ваш компьютер уже использует большие объемы системной памяти для других приложений или для кэш-памяти, увеличение лимита памяти выгружаемого и невыгружаемого пула NTFS уменьшает доступную память пула для других процессов. Это может снизить общую производительность системы.
Я сам опробую это изменение и очень надеюсь получить отзывы наших замечательных читателей об этом. Обратите внимание, что я еще не проводил тесты, поэтому пока не могу подтвердить, что это дает какое-то существенное преимущество в производительности в реальном мире.
Взлом командной строки
Откройте командную строку в режиме администратора, щелкнув правой кнопкой мыши и выбрав «Запуск от имени администратора», или введите cmd в поле поиска меню «Пуск» и используйте Ctrl + Shift + Enter.
Введите следующую команду, чтобы увеличить настройки кэша:
fsutil набор поведения memoryusage 2
Чтобы проверить текущее значение, введите в этой команде:
fsutil поведения запроса памяти
Чтобы изменить настройку обратно на значение по умолчанию, используйте эту команду:
fsutil набор поведения memoryusage 1
Как всегда, эти «слегка» задокументированные настройки могут испортить вашу систему, поэтому работайте на свой страх и риск. Кроме того, вам, вероятно, придется перезагрузить компьютер, чтобы увидеть какие-либо различия.
Взлом реестра вручную
Вы также можете установить это значение, изменив параметр реестра. Откройте regedit.exe через поиск меню Пуск или окно запуска, а затем перейдите к следующей клавише:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem
Дважды щелкните ключ NtfsMemoryUsage с правой стороны и измените значение на 2. Вот доступные значения:
- Не установлено: 0
- Установить по умолчанию: 1
- Увеличение кеша: 2
В соответствии с документацией по умолчанию установлено значение «1», но по умолчанию ключ имеет значение «0». Обычно в этом сценарии настройка «0» означает «Не установлено», что означает, что система использует настройку по умолчанию. Вы должны иметь возможность изменить значение на «0» или «1», чтобы изменить это значение по умолчанию.
Этот параметр также работает в Windows Server 2003.