filesystem cache (locate vagy inode cache vagy hogyan?)

Fórumok

Sziasztok,

Azt szeretném megoldani, hogy amikor belépek egy könyvtárba és kilistázom (akár midnight commanderből akár egy másik gépről samba-n) akkor azonnal megjelenjen a könyvtár tartalma (ramból )és ne kezdje el tekerni a winyót.
Ehhez a teljes fájlrendszert (fájlneveket méretet dátumot stb) be kéne rakni a ramba és valahogy onnan kéne kiolvasni.

Eddig két járható utat találtam, de egyik sem tökéletes:

1. sysctl -w vm.vfs_cache_pressure=50 # Don't shrink the inode cache
Ez elvileg megoldaná, de gyakorlatilag egy idő után így is kiürül a cache, és megint a winyóhoz fordul ha kell valamit listázni.

2. locate (vagy mlocate) használata, ami épít egy adatbázist a filerendszerről és karban is tartja, csak az a gond, hogy se a rendszer se a samba se semmi nem használja ezt. Csupán arra jó, hogy ha a user meg akar keresni egy fájlt kézzel akkor find helyett ezzel gyorsabb.

Lenne valakinek valami ötlete, hogy hogyan lehetne cachelni a filerendszer inode táblát a ramban rendesen? Esetleg valami más sysctl paraméter?

Hozzászólások

subs.

------------------------------------------
"Nincs ez el**szva, csak másra lesz jó!"

Na látom szokás szerint nem kapok választ, úgyhogy megválaszolom magamnak:

Nagy valószínűséggel a vm.vfs_cache_pressure sysctl paraméterrel kell játszadozni.
Elvileg ha 0-ra állítom akkor soha nem üríti ki az inode cache-t, ha 100-ra akkor pedig szinte azonnal kiüríti és a programoknak adja a felszabadult memóriát.

Ki kell próbálni 0-val és 1-el, hogy tényleg jól működik-e. (a vm.vfs_cache_pressure=0 lehet, hogy megeszi a ramot)
Remélem elérem a kívánt eredményt. Jó lenne ha leállíthatnám a winyókat és nem pörögnének fel attól, hogy valaki FTP-n vagy Samba-n nézelődik de nem nyit meg egy fájlt sem.

Igen igazad van, de az is elég nekem. Pontosan ez most a problémám.

Ez egy otthoni NAS-ként üzemelő kis gép egy lebutított linuxal (nincs X se) így a processek alig esznek néhány 100MB memóriát, és van a gépben 2GB (olcsó volt :D).

Viszont miután átmásolok vagy megnézek Samba-n egy filmet elfelejti a cache-t.
Ezt legjobban egy `ls -lR / >/dev/null` paranccsal lehet lemérni.