Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

Можете да изпитате проблеми с производителността в приложения и услуги в различни версии на Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 и Windows Server 2008 R2. Освен това забелязвате следните симптоми:

  • Наличната памет е почти изтощена.

  • Кешът на системните файлове изразходва по-голямата част от физическата RAM памет.

  • Има постоянен и висок обем на кешираните искания за прочитане на твърдия диск.

Причина

Управлението на паметта в операционните системи Microsoft Windows използва базиран на търсенето алгоритъм. Ако някоя заявка за процес и използва голямо количество памет, размерът на работния набор (броя на страниците с памет във физическата RAM памет) на процеса се увеличава. Ако тези искания са непрекъснати и неотметнати, работният набор от процеса ще нарасне, за да погълне цялата физическа RAM памет. В тази ситуация работните набори за всички други процеси се изскачат на твърдия диск. Това поведение намалява производителността на приложенията и услугите, тъй като страниците с памет непрекъснато се записват на твърдия диск и се прочитат от твърдия диск.

Този проблем се отнася и за работния набор от кеша на системните файлове. Ако има постоянен и висок обем на кешираните искания за прочитане от всеки процес или от който и да е драйвер, размерът на работния набор на кеша на системните файлове ще нараства, за да покрие това търсене. Кешът на системните файлове изразходва физическата RAM памет. Следователно достатъчно количество физическа RAM не се предлага за други процеси.

В 32-битовите версии на операционните системи Microsoft Windows, по-стари от Windows Vista, работните набори от кеша на системните файлове имат теоретичен лимит за памет от по-малко от 1 гигабайт (ГБ). Ограничението на виртуалния диапазон от адреси предотвратява работните набори от кеша на системните файлове от изтощителната физическа RAM памет.

В 32-битовите версии на операционните системи Windows Vista ресурсите за ядрото се предоставят динамично. Работните набори от кеша на системните файлове се увеличават, за да консумират диапазона на виртуални адреси в режима на ядрото за сметка на други ресурси на ядрото. Ограничението на този диапазон от памет е по-малко от 2 ГБ. Ако на компютъра има повече от 2 ГБ физическа RAM памет, кешът не може да изтощи цялата физическа RAM памет. Кешът обаче може да изтощи виртуалното пространство за адреси в ядрото. Това може да доведе до Неуспешно разпределение за други компоненти на ядрото.

В 64-битовите версии на операционните системи Windows размерът на виртуалния адресен диапазон обикновено е по-голям от физическата RAM памет. В този случай работните набори за кеша на системните файлове могат да се увеличат, за да консумират по-голямата част от физическата RAM памет.

Решение

Алгоритмите за управление на паметта в Windows 7 и Windows Server 2008 R2 бяха актуализирани, за да отговорят на много проблеми с кеширането на файлове, които са били открити в по-стари версии на Windows. Има само някои уникални ситуации, при които трябва да изпълните тази услуга на компютри, на които се изпълнява Windows 7 или Windows Server 2008 R2.

Как да определите дали системата ви е засегната

За да определите дали вашата система е повлияна от този проблем, инсталирайте инструмента SysInternals RamMap. Можете да получите инструмента от следния уеб сайт на Windows Sysinternals:

http://TechNet.Microsoft.com/EN-US/Sysinternals/ff700229
Когато стартирате инструмента, изберете опцията използване на преброявания . Това показва няколко колони, които показват текущия модел на използване на паметта. Щракнете върху активната колона, за да сортирате по броя използвани байтове, и отбележете горната употреба директно под общата сума.

Ако горният брой на употребата е "метафайл" и ако се използва голяма част от наличната памет, имате проблем със системните файлове, който е описан в секцията "симптоми". Можете да потвърдите това, като използвате монитора за производителност, за да следите кеша за резидентни байтове на Memory\System, и да видите как кешът се разраства непрекъснато във времето.

Фигура 1. Пример RamMap изход, в който компютърът има проблем.

алтернативен текст

Фигура 2. Пример RamMap изход, в който на компютъра не е даден проблемът.

алтернативен текст

Ако Memory\System Cache за резиденти за байтове в монитора за производителност показва възходяща тенденция във времето, на компютъра възниква проблемът, както е показано на фигура 3.

Фигура 3. Например изхода за следене на производителността, при който компютърът преживява проблема с течение на времето.

алтернативен текст

Изисквания за рестартиране

Не е необходимо да рестартирате компютъра при инсталирането, деинсталирането или използването на тази услуга.

Ако четете тази статия, защото работите с клиент, който смята, че те са засегнати от този проблем, следвайте тези стъпки, за да помогнете за решаването на проблема.

  1. Уверете се, че данните за изхода на RamMap, perfmon или Poolmon потвърждават, че кеша на системните файлове изразходва по-голямата част от физическата RAM памет, както е описано по-рано.

  2. За да получите услугата Windows Dynamic cache, изтеглете я оттук.

  3. Някои динамични настройки на системния регистър за кеша са следните:

    Файлови сървъри, може да поискате да изпробвате 1GB.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes" = DWORD: 00000400
    "MinSystemCacheMBytes" = DWORD: 00000064
    "SampleIntervalSecs" = DWORD: 0000003c
    "CacheUpdateThresholdMBytes" = DWORD: 00000064

    Exchange 2007, може да поискате да изпробвате 500 МБ:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes" = DWORD: 000001F4
    "MinSystemCacheMBytes" = DWORD: 00000064
    "SampleIntervalSecs" = DWORD: 0000003c
    "CacheUpdateThresholdMBytes" = DWORD: 00000064

    SQL 2005 и по-нова версия, в миналото при работа с SQL ЕЕ, са използвали 2GB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes" = DWORD: 000007D0
    "MinSystemCacheMBytes" = DWORD: 00000064
    "SampleIntervalSecs" = DWORD: 0000003c
    "CacheUpdateThresholdMBytes" = DWORD: 00000064

Повече информация

За да заобиколите този проблем, използвайте функцията GetSystemFileCacheSize API и функцията SetSystemFileCacheSize API, за да зададете максималната или минималната стойност за размера на работните набори от кеша на системните файлове. Употребата на тези функции е единственият поддържан метод, който ограничава консумацията на физическа памет от кеша на системните файлове.

Услугата Microsoft Windows Dynamic Cache е примерна услуга, която показва една стратегия, за да използвате тези API, за да намалите ефекта на този проблем.

Инсталирането и използването на услугата за динамично кеширане на Microsoft не води до изключване на поддръжката за Microsoft Windows. Тази услуга и неговият първичен програмен текст се предоставят като пример за това как да използвате поддържаните API на Microsoft, за да намалите разрастването на кеша на файловата система.

Можете да получите услугата и изходния код от следния уеб сайт на Microsoft:

http://www.microsoft.com/download/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang = EN

Допълнителни ресурси

Прочетете глави 9 (управление на паметта) и 10 (Диспечер на кеш) на Windows Internals – 5-то издание.

Управление на паметта (големи проблеми в КЕША на системата) публикация

в блог Бавен голям проблем при копиране на файлове в блог

Ограничения за памет за издания

на Windows 976618 можете да се сблъскате с проблеми с производителността в приложенията и услугите, когато кеш файлът на системата изразходва по-голямата част от физическата RAM

918483 как да се намали странирането на паметта на буферен пул в 64-битова версия на SQL Server

895932 , за да обмислите, преди да разрешите режима за кеширане на системата в Windows XP

232271 как да оптимизирате Windows NT Server с помощта на







 

Състоянието

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×