it-swarm.dev

Jak nastavím swapiness?

Potřebuji postupný, jednoduchý a snadný způsob konfigurace výměny.

367
One Zero

Linuxové jádro poskytuje vyladitelné nastavení, které určuje, jak často se odkládací soubor používá, tzv. Swappiness.

Nastavení swapiness nula znamená, že se disku vyhneme, pokud to není nezbytně nutné (nedostatek paměti), zatímco nastavení swapiness 100 znamená, že programy budou téměř okamžitě zaměněny na disk.

Systém Ubuntu je dodáván s výchozím nastavením 60, což znamená, že odkládací soubor bude používán poměrně často, pokud je využití paměti přibližně polovina paměti RAM. Hodnotu swappiness svého vlastního systému můžete zkontrolovat spuštěním:

[email protected]:~$ cat /proc/sys/vm/swappiness
60

Vzhledem k tomu, že mám 4 GB RAM, rád bych to snížil na 10 nebo 15. Odkládací soubor se poté použije, pouze pokud moje RAM použití) je kolem 80 nebo 90 procent. Chcete-li změnit hodnotu systému swappiness, otevřeno /etc/sysctl.conf as root . Poté změňte nebo přidejte tento řádek do souboru:

vm.swappiness = 10

Použít změnu.

Sudo sysctl -p

Můžete také změnit hodnotu, zatímco váš systém stále běží:

sysctl vm.swappiness=10

Svůj swap můžete také vymazat spuštěním swapoff -a a pak swapon -a jako root místo restartu pro dosažení stejného efektu.

Výpočet swapového vzorce:

free -m (total) / 100 = A

A * 10

[email protected]:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

takže celkem je 3950/100 = 39,5 * 10 = 395

Co to znamená, že když zbývá 10% (395 MB) RAM, začne používat swap.


Nápověda. Ubuntu. Swap

Co je výměna

Parametr swappiness řídí tendenci jádra přesouvat procesy z fyzické paměti a na odkládací disk. Protože disky jsou mnohem pomalejší než RAM, může to vést ke zpomalení doby odezvy pro systém a aplikace, pokud jsou procesy příliš agresivně přesunuty z paměti.

  • swappiness může mít hodnotu mezi 0 a 100.
  • swappiness=0:
    • Jádro verze 3.5 a novější: zakáže výměnu.
    • Verze jádra starší než 3,5: vyhýbá se co nejdéle výměnným procesům z fyzické paměti.
  • swappiness=1:
    • Jádro verze 3.5 a vyšší: minimální výměna, aniž by bylo zcela zakázáno.
  • swappiness=100:
    • Říká jádru, aby agresivně zaměňovalo procesy z fyzické paměti a přesouvalo je do mezipaměti.

Viz http://en.wikipedia.org/wiki/Swappiness .

Výchozí nastavení v Ubuntu je swappiness=60. Snížení výchozí hodnoty výměny pravděpodobně zlepší celkový výkon typické instalace stolního počítače Ubuntu. Hodnota swappiness=10 se doporučuje, ale neváhejte experimentovat.


Příklad

Začalo se pomocí swapu na 91% :

enter image description here Když jsem nakonfiguroval svůj systém & vm tak, aby využíval RAM na 90% , na 90% nedošlo k žádnému zaměňování.

Poté jsem otevřel některé aplikace jako Firefox a Shutter a začalo se to vyměňovat, protože RAM využití je nad 90% ).

542
One Zero

Pro výměnu ZRAM bez skutečných odkládacích oddílů/souborů použijte 100. Bude předkomprimovat vše, co může být předkomprimováno, takže mezipaměť zůstane neporušená a podle potřeby rychle dekomprimuje data (také bez skutečného výměny budete muset zvýšit admin_reserve_kbytes x2 nebo dokonce x4, aby nedocházelo k zamrzání celého systému při nízkém RAM místo toho, aby se zrušila hladová aplikace).

U SSD se skutečným odkládacím oddílem použijte 1. Zabráníte tak co možná nejmenšímu přepínání, obětování mezipaměti (ale mezipaměť lze snadno znovu přečíst z SSD).

0
NickDoom