Винаги съм се питал защо Windows не ви позволява да зададете произволен размер за кеша на файловата система. Какво ще стане, ако имате бавен твърд диск в лаптопа си, но налице е налична системна памет? Не трябва ли да можете да увеличите тази памет, за да ускорите достъпа до твърдия диск?
Намерих леко документирано ощипване, което ще ви позволи да кажете на Windows да използва повече кеш за "pool" на NTFS, което трябва да увеличи производителността, ако вашата система отваря и затваря много файлове през цялото време като мен.
Според документацията на Microsoft:
Увеличаването на физическата памет не винаги увеличава размера на паметта за пейджинг на разположение на NTFS. обстановка memoryusage да се 2 повишава лимита на паметта на централизирания пул. Това може да подобри производителността, ако системата ви отваря и затваря много файлове в един и същ набор от файлове и все още не използва големи количества системна памет за други приложения или за кеш памет. Ако компютърът ви вече използва големи количества системна памет за други приложения или за кеш памет, увеличаването на границата на паметта на страници в NTFS и на несертифициран басейн намалява наличната памет на басейна за други процеси. Това може да намали цялостната производителност на системата.
Аз ще тествам тази промяна сама и наистина се надявам да получа обратна връзка от нашите отлични читатели по този въпрос. Моля, обърнете внимание, че все още не съм използвал референтни показатели, така че все още не мога да потвърдя, че това води до значителна полза от представянето в реално време.
Командния ред
Отворете командния ред на режима за администратор, като щракнете с десния бутон на мишката и изберете Изпълни като администратор или въведете ПМС в полето за търсене в стартовото меню и използвайте клавишите Ctrl + Shift + Enter.
Въведете следната команда, за да увеличите настройката за кеша:
fsutil поведение set memoryusage 2
За да проверите текущата стойност, въведете тази команда:
fsutil поведението заявка memoryusage
За да промените настройката обратно на стандартната, използвайте тази команда:
fsutil поведение set memoryusage 1
Както винаги, тези "леко" документирани настройки могат да изкривят системата ви, така че да извършвате на свой собствен риск. Също така, вероятно ще трябва да рестартирате машината, за да видите някаква разлика.
Ръчен регистър
Можете също така да зададете тази стойност, като промените параметъра на системния регистър. Отворете regedit.exe в полето за търсене в менюто за стартиране или в полето за стартиране, след което навигирайте до следния клавиш:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem
Щракнете двукратно върху бутона NtfsMemoryUsage от дясната страна и променете стойността на 2. Ето и наличните стойности:
Според документацията настройката по подразбиране е "1", но по подразбиране ключът е настроен на "0". Обикновено в този сценарий настройката "0" означава "Not Set", което означава, че системата използва настройката по подразбиране. Трябва да можете да промените стойността на "0" или на "1", за да го промените обратно на по подразбиране.
Тази настройка работи и в Windows Server 2003.