Not a kernel guy

… in the Windows kernel team

Tuesday, December 5, 2006

Каталог dllcache и с чем его едят.

Тут в комментариях зашла речь о роли каталога “%SystemRoot%\system32\dllcache” и причинах почему он занимает столько места. Отвечаю здесь, так как это может быть интересно многим.

Для того чтобы убедиться, что каталог dllcache - это всего лишь никак не используемая свалка копий исполняемых модулей достаточно воспользоваться утилитой ProcessExplorer. В среднем это около пол гига украденных у пользователя. Даже, если это был бы действительно кеш, любому маломальски опытному человеку понятно, что скорость доступа к файлам в каталоге такой длинны будем еще хуже чем к их оригиналам.

Похоже, что разработчики выбрали не очень удачное имя для этого каталога. Назови они его “wfpcache” или “wfpshadow” или ещё как-нибудь и никто бы не подумал, что этот каталог используется для улучшения производительности, путем кеширования библиотек.

На самом деле, dllcache используется службой Windows File Protection (WFP). Главная и единственная её задача состоит в обеспечении целостности системных файлов. В двух словах WFP хранит копию каждого защищаемого файла в каталоге dllcache и использует эту копию для восстановления файла, если кто-либо пытается заменить или изменить защищаемый файл.

Подробно о WFP написано вот здесь: Windows File Protection guide. (Ссылка нашлась в блоге Robert Bogue). Это руководство отвечает на все вопросы, касающиеся WFP. Я лишь резюмирую что там написано:

  • В dllcache храняться копии большей части системных файлов. В результате dllcache может занимать довольно значительный объем;
  • dllcache может расти со временем - по мере появления новых системных файлов. Например после установки ежемесячных обновлений системы;
  • WFP конфигурируется через глобальные политики (global policy) или с помощью утилиты sfc.exe. Помимо прочего, можно задать максимальный размер каталога dllcache. (Не уверен, что это работает на Vista);
  • WFP можно отключить совсем, хотя это и не документировано и может привести к плачевным последствиям.

PS: Про назначение каталога “%SystemRoot%\Installer” напишу немного позднее.

Tags:
Posted at 3:36 pm •

RSS feed | Trackback URI

3 Comments »

Comment by Vitaliy — December 5, 2006 @ 4:01 pm

Крайне Вам признателен за ответ

 
Comment by masha — November 7, 2007 @ 12:12 am

> WFP можно отключить совсем, хотя это и не документировано и может привести к плачевным последствиям.

А как?

Comment by Not a kernel guy — November 7, 2007 @ 12:44 pm

Выше в тексте есть фраза со ссылкой:

Подробно о WFP написано вот здесь: Windows File Protection guide

 
 

Your Comment (smaller | larger)

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress