Új hozzászólás Aktív témák

  • janos666

    nagyúr

    Keresgéltem a témában google-el, de hihetetlen módon nem találtam választ (nehéz elképzelni, hogy még senki nem forszírozta ezt):

    --- Lehet valahogy manuálisan megadott értékre limitálni a page cache méretét, beleértve akár a nullát, vagy kikapcsolni az egész cache-elést? ---

    Azért lenne érdekes, mert a Virtualbox képes dinamikusan lefoglalni a memóriát a host-on, ahogy nő a guest memóriafoglalása, viszont amit egyszer lefoglal, azt már nem szabadítja fel később, mikor (és persze ha) a guest OS-en belül szabaddá válik.

    Tehát, ha magasra húzom a Virtualbox-ban a memórialimitet, akkor előbb-utóbb óhatatlanul lefoglalja majd azt a mennyiséget a host-tól, mert a guest-en belüle a page cache alapvetően nőttön nő, míg betelik a memória. Ugyanakkor alulra kicentizni is nehéz a korlátot, ha nem csak egyetlen nagyon specifikus dologra használom a guest OS-t.

    Azon túl pedig, a host-nál is van page cache, tehát így is, úgy is tele lesz tömve a fizikai memória, csak míg a host-nál lévő page cache-ből minden (a host és minden esetleges guest) profitálhat, addig a guest-en belüli cache-ből csak a guest...

    Vagyis, ha nem lenne, vagy csak minimális méretre lenne korlátozva a guest-nél a page cache, akkor sem kéne sokkal lassabbnak lennie semminek, a memóriahasználat viszont jellemzően alacsonyabb, ugyanakkor rugalmasabb lenne (nagyon magas korlátot lehetne neki adni, amit csak szélsőséges esetben és szükség esetén foglalna le, nem szinte bizonyosan viszonylag hamar pusztán csak cache-enk).

    ...

    A sync mount option az nem elég, az csak az írási cache-t mellőzi, olvasáskor ugyanúgy feléli az összes szabad (virtuális) RAM-ot a cache. A Direct_IO bukkan még fel a keresőkben, de azt csak egy erre felkészített program kérheti egy-egy file-ra vonatkozóan, filerendszer szinten vagy specifikus szoftver támogatás nélkül nem használható (és mellesleg ha egy-egy adott programmal használható, a többi továbbra is "szemetelhet").

    A host felőli cache-elés letiltható a virtuális lemezképfile-ra nézve, mert az egy adott file és a Virtualbox, mint program támogatja a Direct_IO-t, vagyis pontosabban az ilyen jellegű dolgokat, mert ez most konkrétan Windows host lenne (de itt és Linux host-on működne a dolog a file-ra nézve).

Új hozzászólás Aktív témák