Otázka čitateľa: Rád by som sa dozvedel spôsob, ako odhaliť programy ktoré neustále zapĺňajú vyrovnávaciu pamäť. Občas skontrolujem výkon cez Správcu úloh a všimol som si veľmi vysoké hodnoty vyrovnávacej pamäte na úrovni 3000 MB a niekedy aj viac ako 5000 MB. V notebooku mám 8 GB RAM sa vo väčšine prípadov nemám pustené nič iné než Google Chrome. Ak na chvíľu prestanem pracovať a mám otvoreného Správcu úloh, vyrovnávacia pamäť začne skoro okamžite rásť. Zaplnenie RAM sa pritom nemení a je štandardne okolo 2 GB. Prečo teda dáta putujú do pomalej vyrovnávacej pamäte na SSD? Okamžite po štarte systému (Windows 10) je v RAM len 1,3 GB dát a vo vyrovnávacej pamäti 350 MB. Skúšal som aj vypnúť stránkovaciu pamäť (neviem, či to s tým súvisí), ale nič sa nezmenilo. Neustále používanie pomalej vyrovnávacej pamäte má zrejme vplyv na reakcie a výkon systému a zbytočne sa mi opotrebováva SSD. Prečo systém nepoužíva RAM, keď je v nej dosť miesta a je skoro prázdna?

Správanie systému, ktoré popisujete, je celkom normálne a výkon vám neznižuje. Bez ohľadu na to, akú veľkú kapacitu RAM máte. Bolo navrhnuté týmto spôsobom práve preto, aby bol výkon čo najväčší.

Vaše prekvapenie je pochopiteľné. Pri pohľade do Správcu úloh zostane mnoho používateľov zaskočených, pretože aj v prípade, že je v počítači 16 či 32 GB operačnej pamäte, graf vám ukazuje, že je zaplnených napríklad len 2,5 čo 5 GB, zatiaľ čo pomocná vyrovnávacia pamäť preteká 8 či 10 GB dát.

Celkom pochopiteľne vám napadne, že takýto stav vám výrazne spomaľuje počítač. Všetky dáta by predsa mohli byť v „hlavnej“ RAM, ktorá takto zbytočne zaháľa.

Je to však len klam a nepochopenie toho, čo to vyrovnávacia pamäť vlastne je. Podrobne sa pozrite na jednotlivé údaje. Na samom vrchu Správcu úloh vidíte celkovú kapacitu vašich modulov, a teda o objem pamäte, ktorá je dostupná pre operačný systém. Od nej sa odvíja trochu mätúci údaj o voľných percentách.

Ak vidíte napríklad na grafe 33 % obsadenosť vašej 30 GB pamäte, položka „Používaná“ obsahuje napríklad 10 GB a nasledujúca položka „K dispozícii“ zvyšných 20 GB. Logicky sa teda dovtípite, že pamäť je z dvoch tretín prázdna.

Následne ale vidíte údaj „Vo vyrovnávacej pamäti“, kde sa nachádza napríklad 15 GB dát. To čo v týchto grafoch od doby Windows 10 chýba (naposledy bol tento údaj uvádzaný na Windows 7), je posledná relevantná položka nazvaná „Voľná“. V nej by ste totiž videli, že by obsahovala v našom príklade 5 GB.

Aby ste ju videli, kliknite v Správcovi úloh na tlačidlo Otvoriť monitor prostriedkov a prekliknite na záložku Memory, ktorý vám ukáže zrozumiteľnejší graf. Okamžite uvidíte, že váš dojem, že Vyrovnávacia pamäť je niečo mimo RAM, bol mylný.

Realita je taká, že vaša operačná pamäť sa používa vždy skoro kompletná.

Skutočný voľný priestor, ktorý je na grafe Monitoru prostriedkov reprezentovaný slabou modrou farbou (Free), bude mať na vašej 8 GB pamäti napríklad len 1 GB, alebo pár stoviek MB. Na väčších pamätiach môže byť voľného priestoru bežne napríklad 20 % kapacity.

Vaša pamäť sa teda využíva prakticky naplno a tak to má byť. Na to si ju kupujeme. Grafické znázornenie vám síce ukazuje, že máte 20 GB RAM voľných a čudujete sa, prečo je 15 GB vo vyrovnávacej pamäti, tento údaj ale hovorí o niečom inom. Vyrovnávacia pamäť je zaplnená pamäť RAM, ktorá je potenciálne dostupná v prípade potreby. Na grafe ho znázorňuje tmavomodrá farba (Standby).

Keď teda vidíte v Správcovi úloh údaj „K dispozícii“: 20 GB, ktorý považujete za voľnú prázdnu pamäť, v skutočnosti ide o súčet celkom voľnej pamäte a pamäte momentálne obsadenej, avšak dostupnej (vyrovnávacej). Ak napríklad zatvoríte v prehliadači nejakú webovú stránku alebo nejaký textový dokument, tak systém ho z operačnej pamäte nevymaže, ak to nie je nutné (pamäť momentálne nepotrebuje žiadny iný program). Existuje totiž šanca, že dáta znovu použijete, takže sa načítajú veľmi rýchlo.

Ak ale iný program pamäť vyžaduje, tieto dáta sa ihneď prepíšu novými. Na videu vyššie môžete vidieť, ako presne k tomuto dochádza. Najprv sa minie „voľná pamäť“ a následne sa míňa bez okolkov tá dočasne držaná vyrovnávacia. A to až do momentu kedy programy pamäť už viac nepotrebujú, a voľná pamäť sa znova objavuje, zatiaľ čo tá „nezjedená“ vyrovnávacia zostane k dispozícii takisto.

Toto riešenia tak má len výhody a žiadne nevýhody. Dáta vo „vyrovnávacej pamäti“ (cache) sú držané v RAM hlavne „dodatočne“ pre zvýšenie výkonu. Nejde teda o fyzicky oddelenú časť pamäte, ale o spôsob správy obsahu RAM ako takej.

Problém si celkom určite pletiete s tzv. virtuálnou pamäťou, ktorá je dostupná pomocou stránkovania na pevný disk alebo SSD. Ide však o niečo celkom iné. Do nej sa automaticky zapisujú dáta z RAM, ktoré už dlho neboli použité (nepoužívaný program na pozadí). RAM sa teda uvoľní. Predstavte si, že nejaký program drží v pamäti napríklad 3 GB dát, ale program vôbec nepoužívate. Programy, ktoré naopak aktívne pracujú, tak majú k dispozícii len 5 GB z vašej 8 GB kapacity. Systém tak presunie nepoužívané 3 GB dočasne na disk a pre aktívne programy pamäť sprístupní. Ak sa k nepoužívanému programu neskôr vrátite, dáta sa z disku s miernym oneskorením zas prepíšu do RAM (pri veľkom objeme dát je to aj používateľsky cítiť, pretože prekliknutie na tento program chvíľu trvá a systém mierne spomalí). Až vtedy si budú musieť ostatné programy vystačiť so zvyškom. Virtuálnu pamäť teda v žiadnom prípade nezakazujte. Len si tým uškodíte.

Značky:

František Urban

František Urban
Zameriavam sa najmä na prehľadové a analytické články z oblasti najrôznejších technológií a ich vývoja. Nájdete ma takisto pri diagnostike HW a SW problémov.