Linux: Nastavení Swappiness pro lepší správu paměti

Linux: Nastavení Swappiness pro lepší správu paměti

Jedním z prvních úkonů, které vždy provádím po instalaci Linuxu, je úprava hodnoty swappiness. Tato hodnota určuje jak moc agresívně přesunuje systém nepotřebné stránky paměti z paměti RAM do odkládacího swap souboru. Ve výchozím nastavení je v linuxovém jádru nastavena hodnota 60 což by mělo být v pořádku pro většinu konfigurací PC. Ve skutečnosti, je ale tato hodnota vhodná spíše pro starší PC s menší velikostí RAM paměti. Nastavení této hodnoty je možné v rozmezí 0-100 a je tedy vhodné tuto volbu využít přímo na míru vašeho systému, zvlášť pokud máte více než 4 Giga RAM paměti.

Kontrola hodnoty swappiness

Ačkoliv jsem se zmínil, že ve výchozím stavu bývá ve většině distribucí nastavena hodnota 60, je dobré zkontrolovat skutečný stav. To provedeme snadno otevřením terminálu (CTRL+ALT+T) a zadáním následujícího příkazu:

sysctl vm.swappiness

Po zadání administrátorského hesla se zobrazí aktuální hodnota swappiness.

Hodnota swappiness

Vidíme, že hodnota je opravdu 60 takže můžeme hodnotu změnit tak, aby se odkládací swap soubor využíval méně. Je to výhodnější hlavně z toho důvodu, že čtení a zápis do jakéhokoliv souboru na disku (a je jedno jestli je to SSD disk) bude vždy pomalejší než čtení a zápis položek v RAM paměti. Je pravdou, že v paměti RAM tak bude zůstavat více nepotřebných dat, ale protože máme paměti RAM více než dost nemusí nás to vůbec trápit. Faktem je, že nevyužitá paměť RAM je naprosto k ničemu a mít volnou RAM postrádá z principu smysl.

Úprava hodnoty swappiness

Pokud máte více než již zmíněných 4 giga RAM paměti je doporučováno změnit tuto hodnotu na 10 (čím menší číslo, tím více stránek paměti zůstane v RAM a naopak, čím větší číslo, tím více se z paměti RAM budou data přesunovat do swap souboru na disku). Osobně volím menší kompromis a nastavuji hodnotu 20. Změnu provedeme následovně. Znovu otevřeme terminál a následujícím příkazem otevřeme soubor /etc/sysctl.conf v editoru Gedit (pokud jej nemáte použijte jiný):

sudo gedit /etc/sysctl.conf

V editoru se nám tak zobrazí obsah tohoto souboru a my můžeme úplně na konec tohoto souboru přidat následující řádek (přidat, protože jej tam pravděpodobně mít nebudete. Pokud ano, tak jen upravte hodnotu 60 na 20).

wm.swappiness = 20

Úprava souboru sysctl.conf

Soubor uložíme a zavřeme a restartujeme PC. Po spuštění systému si můžeme ověřit změnu hodnoty swappiness podle návodu v úvodu tohoto článku.

Copyright © 2024 ELIX