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?
- 1244 megtekintés
Hozzászólások
subs.
------------------------------------------
"Nincs ez el**szva, csak másra lesz jó!"
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
ne bizz annyira benne. A vfs cache eleve csak azt a reszt kapja meg, ami nem kell a processzeknek.
Annyit lehet elerni, hogy egy long seq read (lejatszasz egy 8G filmet) ne uritse ki a memoriabol a dirlistat. Ez is eleg sok eredmeny azert.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni