For et par uker siden postet jeg
Etter å ha installert Raspberry Pi i din
Aktiverer ZRAM på Raspberry Pi
Raspberry Pi 4 kommer med 1, 2, 4 eller 8 GB RAM. Jeg skal bruke 1 GB-modellen, så vennligst juster instruksjonene basert på modellen din. Med 1 GB ZRAM vil standard byttefil (sakte!) bli brukt sjeldnere. Jeg brukte dette skriptet
Instruksjoner er gitt i depotet lenket ovenfor. Installasjon:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
Hvis du vil redigere konfigurasjonen:
vi /etc/default/zram-swap
I tillegg kan du aktivere ZRAM ved å installere zram-tools
. Hvis du bruker denne metoden, sørg for å redigere konfigurasjonen i fil /etc/default/zramswap
, og installer omtrent 1 GB ZRAM:
sudo apt install zram-tools
Etter installasjonen kan du se ZRAM-lagringsstatistikk med følgende kommando:
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $
Legger til kjerneparametere for bedre bruk av ZRAM
La oss nå fikse oppførselen til systemet når Raspberry Pi bytter til bytte i siste øyeblikk, noe som ofte fører til fryser. La oss legge til noen linjer i filen /etc/sysctl.conf og start på nytt.
Disse linjene 1) vil forsinke den uunngåelige utmattelsen av minnet, øke trykket på kjernebufferen og 2) de begynner å forberede seg på hukommelsesutmattelse tidligere, initierer bytte på forhånd. Men det vil være mye mer effektivt å bytte komprimert minne gjennom ZRAM!
Her er linjene som skal legges til på slutten av filen /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
Deretter starter vi systemet på nytt eller aktiverer endringene med følgende kommando:
sudo sysctl --system
vm.vfs_cache_pressure=500 øker hurtigbuffertrykket, noe som øker kjernens tendens til å gjenvinne minne som brukes til å bufre katalog og indeksere objekter. Du vil bruke mindre minne over lengre tid. Det kraftige fallet i ytelse blir opphevet av tidligere bytte.
vm.swappiness = 100 øker parameteren hvor aggressivt kjernen vil bytte minnesider, siden vi først bruker ZRAM.
vm.dirty_background_ratio=1 og vm.dirty_ratio=50 - Bakgrunnsprosesser vil starte opptaket umiddelbart etter å ha nådd 1%-grensen, men systemet vil ikke tvinge synkron I/O før det når dirty_ratio på 50%.
Disse fire linjene (når de brukes med ZRAM) vil bidra til å forbedre ytelsen hvis du har uunngåelig RAM-en går tom og overgangen til swap begynner, som min. Når du kjenner til dette faktum, og også tar i betraktning minnekomprimeringen i ZRAM tre ganger, er det bedre å starte denne vekslingen på forhånd.
Å legge press på cachen hjelper fordi vi egentlig forteller kjernen, "Hei, se, jeg har ikke noe ekstra minne å bruke for cachen, så vær så snill å kvitte seg med den ASAP og bare lagre de mest brukte/viktige data."
Selv med redusert caching, hvis over tid mesteparten av det installerte minnet er okkupert, vil kjernen starte opportunistisk bytte mye tidligere, slik at CPU (komprimering) og swap I/O ikke vil vente til siste minutt og bruke alle ressursene samtidig når det er for sent. ZRAM bruker litt CPU for komprimering, men på de fleste systemer med små mengder minne har det mye mindre ytelse enn å bytte uten ZRAM.
i konklusjonen
La oss se på resultatet igjen:
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 i ZRAM er nesten én gigabyte med ukomprimerte data. Alt gikk til ZRAM og ingenting gikk til den mye tregere sidefilen. Prøv disse innstillingene selv, de fungerer på alle Raspberry Pi-modeller. Mitt ubrukelige frysesystem har blitt til et funksjonelt og stabilt.
I nær fremtid håper jeg å fortsette og oppdatere denne artikkelen med noen resultater fra testing av systemet før og etter installasjon av ZRAM. Nå har jeg rett og slett ikke tid til dette. I mellomtiden kan du gjerne kjøre dine egne tester og gi meg beskjed i kommentarfeltet. Raspberry Pi 4 er et beist med disse innstillingene. Nyt!
Om emnet:
Kilde: www.habr.com