Před pár týdny jsem zveřejnil
Po instalaci Raspberry Pi do vašeho
Aktivace ZRAM na Raspberry Pi
Raspberry Pi 4 je dodáván s 1, 2, 4 nebo 8 GB RAM. Budu používat 1GB model, proto prosím upravte pokyny podle vašeho modelu. S 1 GB ZRAM bude výchozí odkládací soubor (pomalý!) používán méně často. Použil jsem tento skript
Pokyny jsou uvedeny ve výše uvedeném úložišti. Instalace:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
Pokud chcete upravit konfiguraci:
vi /etc/default/zram-swap
Kromě toho můžete aktivovat ZRAM instalací zram-tools
. Pokud používáte tuto metodu, nezapomeňte upravit konfiguraci v souboru /etc/default/zramswap
a nainstalujte přibližně 1 GB ZRAM:
sudo apt install zram-tools
Po instalaci můžete zobrazit statistiku úložiště ZRAM pomocí následujícího příkazu:
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $
Přidání parametrů jádra pro lepší využití ZRAM
Nyní opravme chování systému, když se Raspberry Pi na poslední chvíli přepne na swapování, což často vede k zamrzání. Přidejme do souboru pár řádků /etc/sysctl.conf a restartujte.
Tyto řádky 1) oddálí nevyhnutelné vyčerpání paměti, zvýšení tlaku na mezipaměť jádra a 2) připravte se na vyčerpání paměti dříve, zahájí výměnu předem. Mnohem efektivnější ale bude swapovat komprimovanou paměť přes ZRAM!
Zde jsou řádky, které je třeba přidat na konec souboru /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
Poté restartujeme systém nebo aktivujeme změny pomocí následujícího příkazu:
sudo sysctl --system
vm.vfs_cache_pressure=500 zvyšuje tlak mezipaměti, což zvyšuje tendenci jádra získávat zpět paměť používanou k ukládání adresářů a indexových objektů do mezipaměti. Po delší dobu spotřebujete méně paměti. Prudký pokles výkonu je negován dřívější výměnou.
vm. swappiness = 100 zvyšuje parametr, jak agresivně bude jádro vyměňovat paměťové stránky, protože nejprve používáme ZRAM.
vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - procesy na pozadí začnou nahrávat okamžitě po dosažení 1% limitu, ale systém nebude vynucovat synchronní I/O, dokud nedosáhne dirty_ratio 50%.
Tyto čtyři řádky (při použití se ZRAM) pomohou zlepšit výkon, pokud máte nevyhnutelně Dojde RAM a začíná přechod na swap, jako u mě. S vědomím této skutečnosti a také s ohledem na trojnásobnou kompresi paměti v ZRAM je lepší zahájit tento swap předem.
Vyvíjení tlaku na mezipaměť pomáhá, protože v podstatě říkáme jádru: „Hele, podívej, nemám žádnou paměť navíc, kterou bych mohl použít pro mezipaměť, takže se jí prosím co nejdříve zbavte a ukládejte pouze nejčastěji používané/důležité data."
I při omezeném ukládání do mezipaměti, pokud je časem většina instalované paměti obsazena, jádro začne příležitostně swapovat mnohem dříve, takže CPU (komprese) a swapovací I/O nebudou čekat na poslední chvíli a budou využívat všechny zdroje najednou, když to je příliš pozdě. ZRAM používá ke kompresi trochu CPU, ale na většině systémů s malým množstvím paměti má mnohem menší dopad na výkon než swap bez ZRAM.
Konečně,
Podívejme se znovu na výsledek:
pi@raspberrypi:~ $ free -h
total used free shared buff/cache available
Mem: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi
Swap: 1.2Gi 258Mi 999Mi
pi@raspberrypi:~ $ sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 264448 5
264448 v ZRAM je téměř jeden gigabajt nekomprimovaných dat. Všechno šlo do ZRAM a nic nešlo do mnohem pomalejšího stránkovacího souboru. Vyzkoušejte tato nastavení sami, fungují na všech modelech Raspberry Pi. Můj nepoužitelný, mrazící systém se změnil ve funkční a stabilní.
Doufám, že v blízké budoucnosti budu pokračovat a aktualizovat tento článek o některé výsledky z testování systému před a po instalaci ZRAM. Teď na to prostě nemám čas. Mezitím si klidně spusťte vlastní testy a dejte mi vědět v komentářích. Raspberry Pi 4 je s těmito nastaveními bestie. Užívat si!
Na téma:
Zdroj: www.habr.com