Een paar weken geleden plaatste ik een bericht
Na het installeren van de Raspberry Pi in uw
ZRAM activeren op Raspberry Pi
De Raspberry Pi 4 wordt geleverd met 1, 2, 4 of 8 GB RAM. Ik gebruik het 1GB-model, dus pas de instructies aan op basis van uw model. Met 1 GB ZRAM zal het standaard wisselbestand (traag!) minder vaak worden gebruikt. Ik heb dit script gebruikt
Instructies vindt u in de hierboven gelinkte repository. Installatie:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
Als u de configuratie wilt bewerken:
vi /etc/default/zram-swap
Bovendien kunt u ZRAM activeren door te installeren zram-tools
. Als u deze methode gebruikt, zorg er dan voor dat u de config in bestand /etc/default/zramswap
en installeer ongeveer 1 GB ZRAM:
sudo apt install zram-tools
Na de installatie kunt u ZRAM-opslagstatistieken bekijken met de volgende opdracht:
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $
Kernelparameters toevoegen voor beter gebruik van ZRAM
Laten we nu het gedrag van het systeem oplossen wanneer de Raspberry Pi op het laatste moment overschakelt naar swappen, wat vaak tot vastlopen leidt. Laten we een paar regels aan het bestand toevoegen /etc/sysctl.conf en opnieuw opstarten.
Deze lijnen 1) zal de onvermijdelijke uitputting van het geheugen vertragen, waardoor de druk op de kernelcache toeneemt en 2) ze beginnen zich eerder voor te bereiden op geheugenuitputting, waarbij vooraf het wisselen wordt gestart. Maar het zal veel efficiënter zijn om gecomprimeerd geheugen via ZRAM uit te wisselen!
Hier zijn de regels die u aan het einde van het bestand moet toevoegen /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
Vervolgens starten we het systeem opnieuw op of activeren we de wijzigingen met het volgende commando:
sudo sysctl --system
vm.vfs_cache_druk=500 verhoogt de cachedruk, wat de neiging van de kernel vergroot om geheugen terug te winnen dat wordt gebruikt om directory- en indexobjecten in de cache op te slaan. Je gebruikt gedurende langere tijd minder geheugen. De scherpe prestatiedaling wordt tenietgedaan door eerdere swaps.
vm.swappiness = 100 verhoogt de parameter hoe agressief de kernel geheugenpagina's zal wisselen, omdat we eerst ZRAM gebruiken.
vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - achtergrondprocessen beginnen onmiddellijk met opnemen zodra de limiet van 1% is bereikt, maar het systeem zal geen synchrone I/O forceren totdat de dirty_ratio van 50% is bereikt.
Deze vier regels (indien gebruikt met ZRAM) zullen de prestaties helpen verbeteren als dat het geval is onvermijdelijk Het RAM-geheugen raakt op en de overgang naar swap begint, net als de mijne. Dit feit wetende, en ook rekening houdend met de geheugencompressie in ZRAM met drie keer, is het beter om deze swap van tevoren te starten.
Het onder druk zetten van de cache helpt omdat we in wezen tegen de kernel zeggen: "Hé, kijk, ik heb geen extra geheugen om te gebruiken voor de cache, dus verwijder het alsjeblieft zo snel mogelijk en bewaar alleen de meest gebruikte/belangrijke dingen." gegevens."
Zelfs met verminderde caching zal de kernel, als na verloop van tijd het grootste deel van het geïnstalleerde geheugen bezet is, veel eerder beginnen met opportunistisch swappen, zodat CPU (compressie) en swap I/O niet tot het laatste moment zullen wachten en alle bronnen in één keer zullen gebruiken. het is te laat. ZRAM gebruikt een kleine CPU voor compressie, maar op de meeste systemen met kleine hoeveelheden geheugen heeft het veel minder impact op de prestaties dan swap zonder ZRAM.
Concluderend
Laten we nog eens naar het resultaat kijken:
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 in ZRAM is bijna één gigabyte aan ongecomprimeerde gegevens. Alles ging naar ZRAM en niets ging naar het veel langzamere paginabestand. Probeer deze instellingen zelf eens, ze werken op alle Raspberry Pi-modellen. Mijn onbruikbare bevriezingssysteem is veranderd in een functioneel en stabiel systeem.
In de nabije toekomst hoop ik dit artikel voort te zetten en bij te werken met enkele resultaten van het testen van het systeem voor en na de installatie van ZRAM. Nu heb ik hier gewoon geen tijd voor. Voel je in de tussentijd vrij om je eigen tests uit te voeren en laat het me weten in de reacties. De Raspberry Pi 4 is een beest met deze instellingen. Genieten!
Over het onderwerp:
Bron: www.habr.com