Проблем са кеш системом високих датотека на Виндовс Сервер 2008 Р2

На једном од филе сервери при покретању Виндовс Сервер 2008 Р2 дошло је до проблема са великом меморијом случајног приступа (РАМ), што је резултирало проблемима са перформансама сервера и услугама на њему. Како се испоставило, меморија је била зачепљена системска кеш датотека са метаподацима датотечног система. Могуће је утјецати на све сервере датотека с великим бројем датотека којима корисник приступа. Најкритичнији проблем је за 64-битне верзије оперативног система Виндовс, на којима величина метафила у меморији може заузети готово цео капацитет инсталиране РАМ-а. У чланку ћемо разумјети како се проблем манифестује, идентификовати његове изворе и решења.

Садржај:

  • Велико оптерећење РАМ-а на Виндовс датотечном серверу
  • Шта је метафиле у Виндовс-у??
  • Брзо очистите МФТ метафиле у меморији
  • Услуга динамичког кеширања за управљање кешом датотека

Велико оптерећење РАМ-а на Виндовс датотечном серверу

Проблем се манифестује на следећи начин: у управитељу задатака (управитељ задатака) видимо да на послужитељу РАМ заузима 95-99%.

Преласком на картицу процеса, нећете моћи да пронађете неки процес који је процурио с ненормално високом потрошњом меморије. Поред тога, ако насумично додате меморију која је заузета свим процесима приказаним у управитељу задатака, не можете ни близу 50% физичке меморије инсталиране на серверу. Па ко је појео сву меморију?

Услужни програм РАММап (Марк Руссиновицх) може донети прави прекид у коришћењу РАМ-а. Преузимамо архиву с услужним програмом и покрећемо РАММап.еке датотеку са администраторским правима из архиве. Картица Употреба Броји, видимо да највише физичке меморије објект користи Метафиле (у нашем случају он чини 11 од 25 ГБ РАМ-а сервера).

Шта је метафиле у Виндовс-у??

Метафиле - део је системске кеше која садржи метаподатке НТФС датотечног система и користи се за повећање брзине датотечног система приликом приступа датотекама. НТФС метаподаци укључују податке МФТ (Мастер Филе Табле). За сваку датотеку / мапу којој су корисници приступили ствара се одговарајући блок у метафилији величине најмање 1 Кб (унос о атрибуту сваке датотеке траје 1 кб, а свака датотека има најмање један атрибут). Дакле, на датотечним серверима са великим бројем датотека којима се непрестано приступа, величина кеше система (метафиле) НТФС може достићи неколико гигабајта.

Онемогућавање ове кеш меморије или управљање истим Виндовс алаткама неће успети. Као решење можете повећати количину меморије на серверу, али то је далеко од увек могуће..

Ако поново покренете сервер, меморија коју користи метафил се ослобађа, али с временом величина метафила у меморији и даље почиње неконтролисано расти.

На пример, можете проценити величину МФТ табеле помоћу другог услужног програма Руссиновицх - нтфсинфо. На пример, у нашем примеру за диск од 2 ТБ, величина МФТ табеле је 13 ГБ.

Брзо очистите МФТ метафиле у меморији

РАММап услужни програм пружа могућност брзог чишћења коришћене меморије са смећа без потребе за поновним покретањем сервера. Да бисте то учинили, изаберите одељак у менију Празно -> Празан радни сет система. Након ове операције, величина меморије под метафиљем смањила се десетинама пута, а проценат РАМ-а који користи сервер смањио се са 95% на 26%.

Главни недостатак ове методе је поступак ручног чишћења и не аутоматизује се ни на који начин..

Услуга динамичког кеширања за управљање кешом датотека

Друго, кардиналније, решење проблема високог оптерећења РАМ-а је метафиле датотека датотека  Динамично Кеш Услуга (хттп://ввв.мицрософт.цом/ен-ус/довнлоад/детаилс.аспк?ид=9258). Ова услуга путем системског АПИ-ја омогућава вам управљање параметрима додељене предмеморије.

Важно је. Користите ово решење само ако имате горе описане проблеме. Инсталирање ове услуге неће бити универзално рјешење из других разлога губитка меморије на серверима.

Инсталација ДинЦацхе-а је прилично једноставна (детаљна упутства се налазе у архиви са програмом).

  1. Копирајте датотеку у Динцацхе.еке у каталог  % СистемРоот% \ Систем32
  2. Креирајте услугу Динцацхе тимсц створи ДинЦацхе бинпатх =% СистемРоот% \ Систем32 \ ДинЦацхе.еке старт = ауто типе = овн ДисплаиНаме = "Динамиц Цацхе Сервице"
  3. Увези датотеку Динцацхе.рег у регистар (садржи подразумеване вредности)
  4. Промените вредности следећих кључева регистра ХКЕИ_ЛОЦАЛ_МАЦХИНЕ \ СИСТЕМ \ ЦуррентЦонтролСет \ Сервицес \ ДинЦацхе \ Параметри
    • МакСистемЦацхеМБитес: 4096 (дец) - максимална величина кеш меморије
    • МинСистемЦацхеМБитес: 100 (дец) - минимална величина

    Напомена. Ова и друга ДинЦацхе сервисна подешавања морају се подесити у складу са количином инсталиране меморије и учитавања сервера, потребним перформансама итд. По правилу, не треба постављати величину кеша на више од половине РАМ-а инсталираног на серверу. Након промене, услугу ДинЦацхе не треба поново покретати. промене се прате динамично.
  5. Покрените услугу командом сц старт ДинЦацхе
Напомена. Ако требате да уклоните услугу, користите упутства.

У нашем случају, након инсталирања ДинЦацхе сервиса, употреба меморије у метафилеу престала је да прелази вредност од 4 ГБ коју смо поставили. Корисници нису открили проблеме са смањењем перформанси послужитеља датотека.