PrimoCache – Lemezműveletek gyorsítása

A PrimoCache (leánykori nevén FancyCache) segítségével a rendszermemóriát használhatjuk a lemezműveletek gyorsítására, ezzel növelve a rendszer sebességét és nem mellesleg a meghajtók élettartamát is.

A számítógép teljesítményének egyik szűk keresztmetszete a lemezműveletek sebessége, ugyanis hiába tudná a gép gyorsan feldolgozni az adatokat, ha azok beolvasása (viszonylag) lassan történik – ilyenkor a Windows, vagy az adott alkalmazás, kénytelen megvárni, amíg a lemezről betöltődik a memóriába a kívánt adat és csak azután kezdhet el dolgozni vele. Bár a mai merevlemezek olvasási sebessége mellett már ritkán fordul elő, hogy ez nagyobb fennakadásokat okozna, mindannyian láttunk már olyat, hogy például a zenelejátszóban a számok váltásakor kicsit “gondolkozik” a gép mielőtt vált, vagy egy filmlejátszás közben a pozicionálásnál (belepörgetésnél) néhány pillanatra megakad, mielőtt újra elindul a lejátszás.

A fenti probléma kiküszöbölésére már régóta létezik a Windowsba beépített “cache” (ejtsd: “kesh”) mechanizmus, sőt a Vista óta a ReadyBoost-al még külső flash meghajtókat is használhatunk erre, de ha ez nem elég, akkor jön a PrimoCache.

Hogyan működik

A PrimoCache, hasonlóan más cache megoldásokhoz, a Windows és a lemez közti kommunikációt optimizálja a RAM felhasználásával, azzal a különbséggel, hogy a PrimoCache nem fájlonként, hanem blokkonként kezeli az adatokat. Amikor a Windows adatot kér a lemeztől, a PrimoCache megnézi, hogy nincs-e már a memóriában a kért adat, ha ott van, akkor onnan szolgálja ki, ha nincs, akkor beolvassa a lemezről és eltárolja a RAM-ba, hogy legközelebb már ne kelljen a lemezről beolvasni. Ennek az a nagy előnye, hogy a RAM-ból való olvasás nagyságrendekkel gyorsabban történik, mint bármilyen HDD-ről, vagy akár SSD-ről.

PrimoCache-principle-1Mivel a RAM-ból a gép kikapcsolásával törlődik minden adat, így a cache-t minden indítás után újra fel kell építeni, ebből pedig az következik, hogy igazán profitálni akkor fogunk az alkalmazás használatából, ha viszonylag hosszabb ideig tartjuk a gépet bekapcsolva. A RAM sajnos nem csak feledékeny, de véges is, emiatt egy idő után a PrimoCache elkezdi kiüríteni a cache-ből a régebbi, vagy kevésbé hasznos adatokat, hogy újakat írhasson a helyére, így egy bizonyos adatmennyiség után már nem optimizálható tovább a teljesítmény ezzel a módszerrel sem, bármennyire okosan is ürítgeti a tartalmat a program.

Egy másik hasznos funkciója a programnak a “Level 2 cache” (másodszintű cache), amivel kiterjeszthetjük a RAM-cache méretét azáltal, hogy bevonunk egy SSD, vagy USB-s flash meghajtót. Ez esetben viszont nem árt figyelembe venni, hogy ezeknek a meghajtóknak véges számú írási ciklusa van! A “Level 2 cache” képes a rendszer számára láthatatlan memóriát is kezelni, ami azt jelenti, hogy pl 32 bites rendszeren a 3.5GB-os határ feletti RAM-ot is hasznosíthatjuk ezzel a módszerrel és a hybrid meghajtók sebességére turbózhatjuk a hagyományos merevlemezeinket.

FancyCache-level2-cache

Telepítés és beállítás

A PrimoCache két verzióban tölthető le, az egyik lemezeket, a másik partíciókat képes cache-elni. Ha egy lemezen, csak egyetlen partíciónk van, akkor egyszerű a választás: bármelyik megfelel.
A program sajnos egyelőre nem beszél csak angolul, így némi hozzáértés (vagy bátorság) mellett minimális angol tudásra is szükségünk lesz a használatához. A telepítés a szokásos “Next, Next, Yes” stílusban történik, aminek végén egy újraindítást kér.

Az első indításkor létre kell hoznunk egy “cache task”-ot, amit a menüsor első ikonjával tehetünk meg, majd meg kell adnunk melyik lemezünket, hogyan szeretnénk cache-elni.

2014-10-26_01-31-43

2014-10-26_01-33-12Az optimizálni kívánt lemez kiválasztása

2014-10-26_01-34-10A legbiztonságosabb, ha csak olvasásra (read) állítjuk. Az opciók fölé állva az egérrel magyarázatot is kapunk az egyes lehetőségekről.

2014-10-26_02-56-06A RAM cache méretét úgy állítsuk be, hogy a rendszernek maradjon elég. Én 6GB RAM mellett kettőt adtam a cache-nek. A blokkméretet hagyhatjuk alapértelmezetten, a  “Cache Strategy” mellett dönthetjük el, hogy csak az olvasott, vagy az írt adatot, vagy mindkettőt cache-eljük-e. A “Defer-Write” opcióról lejjebb írok bővebben, ahogy az “L2 cache” beállításáról is.

Ha nem csak a RAM-ot akarjuk hasznosítani, akkor a “Manage L2 cache”, vagy a “Manage Invisible memory” opciókkal adhatunk extra területet a cache-nek. A megfelelő ikonra kattintva, kiválaszthatjuk melyik meghajtónkat áldozzuk be erre a célra, de itt óvatosan kattintgassunk, mert a meghajtó formázása szükséges! Az alábbi képeken egy pendrive használatba vétele következik:

2014-10-26_01-51-36

2014-10-26_01-52-47

Ha elkészültünk a beállításokkal, hátradőlve figyelhetjük a statisztikákat a program főablakában:

2014-10-26_02-58-25

A sebességnövekedés nem azonnali, hiszen a cache-nek előbb fel kell épülni, de már néhány óra használat után is észrevehető sebességnövekedést tapasztalhatunk – ha mindent jól csináltunk. A “Cache hit rate” jelzi, hogy az adatok hány százaléka ment cache-ből, ami minél nagyobb, annál ügyesebben állítottuk be a programot.

Mikor ajánlott a használata:

  • 32bites rendszereken 3.5GB-nál több memóriával ellátott gépeken (L2 cache az “invisible memory” felhasználásval)
  • Sok RAM-mal, de lassú merevlemezekkel rendelkező gépeken
  • SSD mellé, ha kímélni szeretnénk a felesleges írásoktól (Defer Write beállításával)
  • Ha hybrid meghajtót akarunk imitálni egy SSD meghajtó L2 cache-ként való használatával (az SSD élettartama ez esetben csökkenni fog!)

Nem ajánlott a használata, ha kevés a RAM-unk (<3GB), illetve nem ajánlott L2 cache-nek lassabb meghajtót használni, mint amit optimizálni szeretnénk.

Fontos megjegyezni, hogy a “Write Defer” opció, bár nagymértékben gyorsítja az írási műveleteket, adatvesztéssel járhat egy esetleges áramszünet, vagy rendszer-összeomlás esetén, mivel ilyenkor az adatok a cache-ből nem azonnal íródnak a lemezre, hanem késleltetve és ha azelőtt történik a baj, hogy kiíródnának a memóriából a végleges helyükre, elvesznek örökre.

A PrimoCache használatát csak gyakorlott felhasználóknak ajánljuk, a termék honlapján található ismertető részletes tanulmányozása után!

A PrimoCache sajnos nem ingyenes, de van rá 90 napunk, hogy erre megoldást találjunk és amint meglesz, közzé is tesszük 😉

A tippet köszönjük Permafrost-nak!

32 hozzászólás érkezett ehhez a poszthoz

  1. Profile photo of HUN SUB

    Hát igen ez mind megtörtént. Kb fél óra után mint a rakéta de a kiegyensúlyozottan végrehajtott műveletsoroknak annyi volt. Olyan érzésre hasonlított mint ha a gőzhajó kazánját felhevítenénk a maximálisra csakhogy nincs meg a megfelelő keresztmetszet ,hogy ezt egyenletes a meghajtólapátoknak adjuk át. Egyszer még olyat hallottam amit még “szűz” Pc-s koromba mikor magasra állítottam a processzorokat és bekattant a gép egy pillanatra. Visszaállítottam és levettem. Cartman cikke elég tanulságos de az ajánlásai pont az ellentétesek azzal amit ettől a progitól elvárnák. Szóval pont az 1-3Gb RAM-mal és a lassú meghajtóval rendelkezők részére lenne mennyei mert egyébként 4GB-ram felett (játékokat nem ideszámítva) viszonylag a Windows már elég gyors. Pld: 8.1 O.S.

    Tetszik (0)
  2. Profile photo of Juliuska

    Sziasztok!
    Jó a cikk, ezért is szeretném megosztani, hogy én mit állítottam, mert nekem is még csak egy 500 GB-os Samsung HDD van a gépben, a CPU meg egy E4700-as.
    – betettem egy 1 GB-os régi pendrive-ot ReadyBoost-ra a gépbe (úgyse használnám már másra),
    – registryben a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management ágon beírtam LargeSystemCache -t 1 értékkel.
    Igaz nem játszom, csak Word, Chrome meg filmnézés van és általában csak alvásba megy le a gép, de így nem sokat kell várni a gépre 4GB memória mellett sem.

    Tetszik (1)
  3. Profile photo of otony

    Köszönöm szépen a cikkat Cartman.

    Ki is próbálom 🙂

    Tetszik (0)
  4. Profile photo of Pc Szaki Ingyen

    Szuper cikk/program! THX

    A trial verziót hogyan lehet egyszerűen resetelni? Csak az újra telepítés segít, vagy az sem?

    Tetszik (0)
  5. Profile photo of Shoe

    M.2 SSD mellett hozhat valami gyorsulást? Van 16gb memóriám ami nem igazán van kihasználva.

    Tetszik (0)
    • Profile photo of Cartman

      Hozna gyorsulást, meg kímélné az SSD-t is.

      Tetszik (1)
      • Profile photo of Nameless

        Csak azt nem tudom hogyan, annak az adatnak ami a memóriába íródik, egyszer úgyis a lemezre kell kerülni. Szerintem csak akkor kíméli az SSD-t ha azt az olvasás gyorsítására használjuk és a rendszer pedig HDD-re van telepítve. Ugyebár a Windows-nak is van saját gyorsítótára, abban is bennmarad minden amit eddig megnyitottál.

        Tetszik (0)
      • Profile photo of Cartman

        Nameless képzeld el úgy a cache-t, mint amikor van egy nagy lexikon amiből kijegyzetelsz egy cetlire néhány fontos dolgot, hogy ne kelljen állandóan a nagy könyvben keresgélni. Ez a cetli a cache olvasás esetén. Ha egyszer kiírtad a cetlire, onnantól villámgyorsan eléred az adatot a könyv koptatása nélkül.

        Aztán képzelj egy olyan füzetet, aminek mondjuk nagyon törékenyek a lapjai és csak néhányat lehet benne lapozni, aztán ki lehet dobni (ez az SSD). Ha ilyen füzeted lenne, akkor inkább egy cetlire felírnád, amit szeretnél, aztán újra a cetlire írnál, amíg be nem telik és csak azután vennéd elő a féltve őrzött füzetet, hogy bemásold, ezzel kímélve. Ráadásul a cetlire gyorsabb is írni, meg lehet rajta közben szerkesztgetni, javítgatni áthúzni dolgokat.

        Tetszik (2)
      • Profile photo of Shoe

        Na, felraktam és kapott 6848MB memóriát+a defer write-ot bepipáltam.(ezt kell az ssd-nek?) Ja és a Read ssd cache only-t választottam. Gyorsulást én nem érzek egyelőre(mondjuk eleve nem volt lassú) Majd meglátjuk mit tud.

        Tetszik (0)
  6. Profile photo of shadow

    Több éve használom ezt a programot a ramdisk tesójával egyszerre. Úgy a leggyorsabb ha az l2 cache már a rendszertöltődékor egy aktív ramdisk meghajtóra írja dolgait. Na pont ezt a ramdiskre írós funkciót nem támogatja a Primocache (ramdisk lemezkép mentés-betöltéssel működésre bírható csak belassítja a betöltést). Viszont a program előző változata a Fancycache az támogatja, letiltott lapozófájlal (8GB RAM) megy a rendszer mint a mérgezett.
    Nálam így van beállítva, 350MB-os az Y ramdisk.

    Én se nagyon akartam megvenni de nem találtam meg azt a bejegyzést amivel resetelni lehetne a trial időszakot. Annyi segítséget tudok adni hogy ha win7 rendszer az ‘utolsó helyes konfiguráció’ opcióval van indítva akkor újra aktív a trial időszak, csak sok más programot is lennulláz ez az opció.

    Tetszik (0)
    • Profile photo of Cartman

      Nem értem miért kell ramdrive 0.o
      Ez így ugyanaz, mintha csak sima L1 cache-t használnál – szerintem.

      Tetszik (0)
      • Profile photo of shadow

        Azért gyorsabb mint az általad írt ssd vagy flash. Masszív terhelés alatt jelentkezik az L2 előnye, nyugodtan letesztelheted pl több ezer vagy több tízezer fájlból operáló alkalmazás esetén. Fancy L2-val még a rendszerbetöltődés is gyorsabb mint csak az L1-el.

        Tetszik (0)
      • Profile photo of Cartman

        Elhiszem, csak nem értem miért, mert így RAM-ból RAM-ba tologatja a dolgokat elvileg. Az én logikám szerint ha az L2-nek adott ramdisk méretét az a L1-hez adnád, ugyanolyan lenne. De nem próbáltam igazad van.

        Tetszik (0)
  7. Profile photo of shadow

    Mint ahogy a mellékelt ábra mutatja is http://dirtywindows.hu/wp-content/uploads/2014/10/FancyCache-level2-cache.png, ide tolja a sokszor használt vagy épp feldolgozásra váró adatot MBU/LBW algoritmus. Ez az L1 “celtije”.

    Tetszik (0)
  8. Profile photo of shadow

    Ha nincs elég szabad ramod nem használod a cikkben szereplő programot. Továbbá az L1 a HDD összes műveletét ‘puffereli’ (r/w esetén), ha megtellik akkor a feldolgozás alatt lévők folyamatosan frissíti a tartalmát az L2 az ami megtartja az állandó és az l1 számára sokszor behívott részeket. De így is túl lett magyarázva, le kell tesztelni. Ha telítődik az L1 és L2 akkor rá lehet küldeni egy HDD igényes alkalmazást és figyelheted a vinyóműveleteket melyiknél intenzívebb L1+L2 vagy kétszer akkora L1-nél.

    Tetszik (0)
  9. Profile photo of kizo

    Üdv!

    Nekem kicsit olyanok ezek az alkalmazások, mintha lenne egy kupac valamim amit el akarok ásni, ezért ások egy gödröt. Majd a gödör kiásásából maradt földet is el kellene ásni ergó új gödör satöbbi ….

    Tetszik (0)
  10. Profile photo of xpforever

    Fölraktam, 1tb hdd (2 partíció: 100gb win7, 830gb minden más), 4gb ram. Hogy állítsam be úgy, hogy a leghatékonyabban tegye a dolgát?

    Tetszik (0)
  11. Jó program és cikk! A “megoldás”-ra pedig még 76 nap van…

    Tetszik (0)
    • Profile photo of iax20

      ennek mintájára nekem működött a megoldás:

      @echo off
      subinacl /subkeyreg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System\{a257d54e-6769-4397-b2d2-9f75024b3156} /grant=‚áĄ=F
      subinacl /subkeyreg HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetuprmHashStatus\{22DDE72D-542C-454b-845F-6D4579DDEED1} /grant=‚áĄ=F
      REG DELETE HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System\{a257d54e-6769-4397-b2d2-9f75024b3156} /f
      REG DELETE HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetuprmHashStatus\{22DDE72D-542C-454b-845F-6D4579DDEED1} /f

      Tetszik (0)
  12. Profile photo of iax20

    Már a kezdetektől használom ezt a progit mindenféle gépen. Több mint 20 év után ezért az alkalmazásért hajlandó voltam extra fizetni, mert egyszerűen “akadozott” a laptopom az utolsó trial lejárta után. (a config: 16GB DDR3-1333,2xOCZ 128GB SSD, 1TB WD HDD)

    Mióta újra működik nem érzem szükségét semmilyen fejlesztésnek.

    Tetszik (0)
  13. Profile photo of Dj. V.

    Sok az ellene és sok a mellette…
    Én nem próbáltam, én a swap és temp ramdrive-ba írását használom. (Eleve a temp átirányításával sok vírus és adware törlődik minden leállításkor, ami alap esetben lassan megtöltené a HDD-t vagy akár következő indításnál automatikusan futna.
    Ezzel a ramdrive módszerrel lehet némi sebességnövelést elérni és persze nem kell törölgetni a sok szemetet (böngésző cache) állandóan. Egy egész pici program fut ezért a rendszerben csupán (típustól függően 0,5MB-12MB).
    Ami hátrányt érzek a Primocache fenti hozzászólásaiban, hogy…
    -egyrészt a rendes működéséhez kell 1 pen vagy ssd. (Plusz beruházás, ill. pl. az olcsóbb pen írási sebessége 5MB/s szemben a HDD átlag 30-40MB/s sebességével.)
    -másrészt a program nagyobb, mint egy ramdrive, folyamatosan dolgozik, számol, nézegeti mi régi már, stb. azaz a processzort dolgoztatja, ami így a programok futási idejéből vesz el, tehát ezért lesznek lassabbak a futó dolgok.
    -harmadrészt csak hosszabb használat után lesz eredménye (azaz nem otthoni felhasználásra készült… egy szervergépben szünetmentes táppal lehet lenne értelme, bár ott se sok).

    Minthogy nem próbáltam, a véleményem kívülálló vélemény, de aki ismeri a Windows lelkét, az tudja, hogy minden újabb telepített dolog lassítja a gépet… és ha minden indítás után fel kell építenie magát a programnak, akkor nem biztos, hogy ez a legjobb megoldás a gép gyorsítására. Átlag felhasználóknak nem látom értelmét, hogy telepítsék ezt a programot.

    Tetszik (0)

Szólj hozzá a cikkhez