decoatiAz biztos, hogy nem kezd el swappelni, amíg a cache mérete elég kicsi nem lesz. Valamennyi cachet azért biztosan megtart, de gondolj bele! Van a memóriád, ami mondjuk 2 giga, ebből 1 giga cache, és 0% szabad. Egy program le akar foglalni valamennyi memóriát -> helyet kell csinálni. A leglogikusabb a cache méretét csökkenteni, hiszen abban csak olyan dolog van, ami "hátha még jó lesz valamire". A többi lefoglalt memória valamilyen programhoz tartozik, amit az feltehetően használ is. Ha esetleg mégis swappelni kell, mit swappeljünk? Ki lehet swappelni egy program valamelyik részét, vagy a cachet. Na cachet alap, hogy nem swappelünk (kiírunk valamit a winchesterre, ami azért van a memóriában, hogy ne winchesterről kelljen beolvasni? Bocsánat, de ez olyan, mintha szeretkeznénk a szüzességért). Vagy valamelyik programot swappeljük? Az valószínűleg még kelleni fog, különben nem futna, a cacheben lévő dolog viszont csak "lehet, hogy kell". Logikus, a cache méretét kell csökkenteni.
A fenti egy szép történet, de a működését tapasztaltam már. Rendszer bootol, pendrive bedug, és egy 1,4 gigás fájlt másoltam pendriveról vinyóra. Az egész ment cachebe (jó volt egyébként, mert utána megnyitottam audacityvel :D). De később szépen kikerült a cacheből.
Még érdekesség, hogy tapasztalatom szerint linux néha mégis swappel olyat, ami programhoz tartozik, pedig a cache rovására elférne. Történt egyszer, hogy 2 napon keresztül nyitva volt gimp, nagy felbontás sok layer, és nem használtam. 2 nap után masszív winchester kerregés árán tudtam újra hozzányúlni (várni kellett 10 másodpercet, és utána jó lett újra). Ez viszont elég logikus döntés, 2 napja nem kellett, minek ramban tartani? Másrészt az is előfordulhat, hogy egy program leakel (úgy tart lefoglalva memóriát, hogy azt nem használja). Az operációs rendszer nem tudja, hogy a program használja, vagy csak úgy lefoglalva tartja, de azt látja, hogy nem túl gyakran akar hozzáférni -> az ilyet is ki lehet swappelni. Például firefox bezárása után tapasztalom néha, hogy csökkent a swap mérete.
Ha jól tudom, pontosan ez a swappelés alapja, hogy azt söpörjük ki, ami a legritkábban használt. Pl. inkább maradjon cacheben valami, ami percenként kell, mint egy olyan program, amihez 3 órája a kutya sem nyúlt.