Swappiness
A HupWiki-ből...
A 2.6-os stabil Linux kernel VM (virtuális memória) alrendszerében bemutatkozott egy olyan funkció, amelyet swappiness-nek hívnak. A swappiness a kernel virtuális memória alrendszerének finomhangolására használható. A swappiness-en keresztül megadhatjuk a kernelnek, hogy mennyire részesítse előnyben a pagecache-t a mapped memory-val szemben.
Ha a swappiness értéke 100-ra van állítva, akkor a kernel mindkét memóriatípust egyenlő mértékben kezeli. Ha az értéke 0, akkor a kernel sokkal inkább a pagecache-t részesíti előnyben. Magyarán, ha a swappiness értéke magasabb, akkor a kernel többet lapoz (swap-pel), ha a swappiness értéke kisebb, akkor a kernel megpróbálja elkerülni a lapozást.
Az könnyen belátható, hogy különböző felhasználás esetén más és más swappiness érték lenne a legmegfelelőbb. Ha nagyobb fájlokat másolunk, vagy videót tömörítünk, akkor a 0 érték lenne a legmegfelelőbb. Ha sok alkalmazással dolgozunk egy időben, akkor a magasabb érték lenne az üdvözítő. Arról nem is beszélve, hogy az optimális érték függ a gépben levő fizikai RAM méretétől is.
A 2.6-os Linux kernelben a swappiness alapértelmezett értéke 60. A swappiness a /proc-on keresztül állítható a /proc/sys/vm/swappiness attribútumon keresztül.
A swappiness érték lekérdezése
alderaan:/home/trey# cat /proc/sys/vm/swappiness 60
vagy:
$ sysctl -n vm.swappiness 60
A swappiness érték állítása
A legtöbb disztribúcióban az /etc/sysctl.conf segítségével lehet állandó értéket megadni.
Egyszeri beállítás:
alderaan:/home/trey# echo "10" > /proc/sys/vm/swappiness alderaan:/home/trey# cat /proc/sys/vm/swappiness 10
vagy:
$ sysctl vm.swappiness=10