Magas fájlrendszer-gyorsítótár-probléma a Windows Server 2008 R2 rendszeren

Az egyik fájlkiszolgálók A Windows Server 2008 R2 futtatásakor problémát okozott a magas véletlen hozzáférésű memória (RAM), ami problémákat okozott a szerver és az azon futó szolgáltatások teljesítményében. Mint kiderült, a memória eldugult rendszerfájl gyorsítótár fájlrendszer metaadataival. Az összes fájlkiszolgálót, amely nagyszámú fájlt tartalmaz, és amelyekhez a felhasználó fér hozzá, potenciálisan érintett. A legkritikusabb probléma a Windows 64 bites verzióinál jelentkezik, amelyeknél a memóriában lévő metafájl mérete elfoglalhatja a telepített RAM szinte teljes kapacitását. A cikkben megértjük, hogyan jelenik meg a probléma, meghatározzuk annak forrásait és megoldásait.

Tartalom:

  • Magas RAM terhelés a Windows fájlkiszolgálón
  • Mi a metafájl a Windows rendszerben??
  • Gyorsan törölje az MFT metafájlt a memóriából
  • Dinamikus gyorsítótár szolgáltatás a gyorsítótár kezeléséhez

Magas RAM terhelés a Windows fájlkiszolgálón

A probléma az alábbiak szerint jelentkezik: a Feladatkezelőben (Feladatkezelő) azt látjuk, hogy a szerveren a RAM memória 95-99%.

A Folyamat fülre való belépéskor nem talál szivárogtatott folyamatot rendellenesen magas memóriafelhasználással. Ezenkívül, ha véletlenszerűen összeadja a feladatkezelőben megjelenített összes folyamat által elfoglalt memóriát, akkor még a kiszolgálóra telepített fizikai memória 50% -ához sem közelítheti meg. Tehát ki megette az összes emléket?

A RAMMap segédprogram (Mark Russinovich) valódi bontást adhat a RAM használatához. Töltsük le az archívumot a segédprogrammal, és futtassuk a RAMMap.exe fájlt rendszergazdai jogokkal az archívumból. lap használat grófok, látjuk, hogy az objektum a legtöbb fizikai memóriát használja metafile (a mi esetünkben ez a 25 GB szerver RAM-ból 11).

Mi a metafájl a Windows rendszerben??

Metafile (Metafile) - a rendszer gyorsítótár része, amely NTFS fájlrendszer metaadatokat tartalmaz, és a fájlrendszer sebességének növelésére szolgál a fájlok elérésekor. Az NTFS metaadatai tartalmaznak MFT (Master File Table) adatokat. Minden egyes fájlhoz / mappához, amelyet a felhasználók elértek, egy megfelelő blokk jön létre a metafájlban, amelynek mérete legalább 1 Kb (az egyes fájlok attribútumára vonatkozó bejegyzés 1 kb-t vesz igénybe, és minden fájlnak legalább egy attribútuma van). Így nagyszámú, folyamatosan hozzáférhető fájlkiszolgálón az NTFS rendszer-gyorsítótár (metafájl) mérete több gigabájtot is elérhet.

A gyorsítótár letiltása vagy kezelése a szokásos Windows eszközökkel sikertelen lesz. Megoldásként növelheti a memória mennyiségét a szerveren, de ez messze nem mindig lehetséges..

Ha újraindítja a szervert, a metafájl által használt memória felszabadul, de az idő múlásával a memóriában lévő metafájl mérete ellenőrizetlenül növekedni kezd..

Becsülheti meg például az MFT tábla méretét egy másik Russinovich segédprogram segítségével - ntfsinfo. Például egy 2 TB-os lemezen az MFT-tábla mérete 13 GB.

Gyorsan törölje az MFT metafájlt a memóriából

A RAMMap segédprogram lehetővé teszi a használt memória gyors eltávolítását a szemétből a kiszolgáló újraindítása nélkül. Ehhez válassza ki a menüpontot Üres -> Üres rendszer munkakészlet. Ezt a műveletet követően a metafájl alatti memória mérete tucatszor csökkent, és a szerver által használt RAM százaléka 95% -ról 26% -ra esett vissza..

Ennek a módszernek a fő hátránya a kézi tisztítási folyamat, és semmilyen módon nem automatizálja..

Dinamikus gyorsítótár szolgáltatás a gyorsítótár kezeléséhez

A nagy RAM terhelés problémájának másik, kardinálisabb megoldása a fájlrendszer metafájlja  dinamikus gyorsítótár szolgáltatás (http://www.microsoft.com/en-us/download/details.aspx?id=9258). Ez a szolgáltatás a rendszer API-n keresztül lehetővé teszi a kiosztott gyorsítótár paramétereinek kezelését.

Fontos. Csak akkor használja ezt a megoldást, ha a fent leírt problémák merülnek fel. A szolgáltatás telepítése nem lesz egyetemes megoldás más okok miatt, amelyek miatt a szerverek memóriája kifogy.

A DynCache telepítése meglehetősen egyszerű (a részletes utasításokat az archívum tartalmazza a programmal együtt).

  1. Másolja a fájlt a DynCache.exe a katalógusba  % SystemRoot% \ System32
  2. Hozzon létre egy szolgáltatást DynCache a csapatsc létrehozása DynCache binpath =% SystemRoot% \ System32 \ DynCache.exe start = automatikus típus = saját DisplayName = "Dinamikus gyorsítótár szolgáltatás"
  3. Fájl importálása DynCache.reg a rendszerleíró adatbázisba (alapértelmezett értékeket tartalmaz)
  4. Módosítsa a következő rendszerleíró kulcsok értékeit HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ DynCache \ Parameters
    • MaxSystemCacheMBytes: 4096 (dec) - a gyorsítótár maximális mérete
    • MinSystemCacheMBytes: 100 (dec) - minimális méret

    megjegyzés. Ezeket és más DynCache szolgáltatási beállításokat a telepített memória és a szerver terhelésének, a szükséges teljesítménynek stb. A gyorsítótár méretét általában nem szabad a kiszolgálóra telepített RAM több mint felére beállítani. A módosítás elvégzése után a DynCache szolgáltatást nem kell újraindítani. a változásokat dinamikusan követjük.
  5. Futtassa a szolgáltatást a paranccsal indítsa el a DynCache programot
megjegyzés. Ha el kell távolítania a szolgáltatást, kövesse az utasításokat.

Esetünkben a DynCache szolgáltatás telepítése után a metafájl memóriahasználata már nem haladta meg az általunk beállított 4 GB értéket. A felhasználók nem tártak fel problémákat a fájlszerver teljesítményének romlásával.