tak, tak, detailne vysvetlenie z Vnitřní architektura Microsoft Windows Mark E. Russinovich, David A. Solomon:
Optimalizátory paměti RAM: skutečnost nebo výmysl?
Při svém brouzdání po webu jste se již určitě setkali s upoutávkami typu „Defragmentujte
paměť a zvyšte výkon" či „Minimalizujte selhání aplikací a systému a uvolněte nepoužíva-
nou paměť". Tyto odkazy pak vedou k nástrojům, které by to vše a ještě mnohem více měly
dělat. Opravdu to funguje?
Optimalizátory paměti se obvykle předvedou uživatelským rozhraním, které zobrazuje graf
označený jako „dostupná paměť" a čárou reprezentující prahovou úroveň, při jejímž dosažení
produkt zahájí svou činnost. Další čára většinou ukazuje množství paměti, které se optimalizá-
tor při svém běhu pokusí uvolnit. K dispozici ještě bývá možnost nastavit některou nebo obě
úrovně a ručně spustit optimalizaci paměti, popřípadě naplánovat její spuštění. Některé nástro-
je zobrazují i procesy spuštěné v systému. Když se naplánovaná optimalizace spustí, čítač do-
stupné paměti v aplikaci vyletí vzhůru, často velmi dramaticky, což navozuje dojem, že nástroj
skutečně uvolňuje paměť, kterou tak mohou aplikace využít. Ale to, co opravdu dělá je, že
způsobuje nulování užitečné paměti, čímž uměle navyšuje dostupnou paměť.
Optimalizátory paměti RAM fungují na principu alokování a následného uvolnění velkého
množství virtuální paměti. Níže uvedený obrázek ukazuje účinek optimalizátoru na systém:
Graf „před" znázorňuje pracovní sady a dostupnou paměť před zahájením optimalizace.
Graf „v průběhu" ukazuje, že optimalizátor vytváří vysoké požadavky na paměť. Dělá to tak,
že během krátké doby způsobí velké množství výpadků stránek. V reakci na tento stav zvýší
správce paměti optimalizátoru jeho pracovní sadu. Toto rozšíření pracovní sady se děje na
úkor dostupné paměti a - v okamžiku, kdy je této paměti málo - na úkor pracovních sad ji-
ných procesů. Graf „po" znázorňuje jak poté, co optimalizátor svou paměť uvolní, přesune
správce paměti všechny stránky přiřazené optimalizátoru na seznam volných stránek (odkud
je nakonec vezme nulovací vlákno, které je vynuluje a přesune na seznam nulovaných strá-
nek), čímž přispějí ke zvýšení velikosti dostupné paměti. Většina optimalizátorů skrývá rychlý
pokles dostupné paměti, který nastane během prvního kroku. Když však máte během opti-
malizace spuštěný Task Manager (Správce úloh), často tento pokles uvidíte.