For et par uger siden skrev jeg
Efter installation af Raspberry Pi i din
Aktivering af ZRAM på Raspberry Pi
Raspberry Pi 4 kommer med 1, 2, 4 eller 8 GB RAM. Jeg vil bruge 1GB-modellen, så juster venligst instruktionerne baseret på din model. Med 1 GB ZRAM vil standard swap-filen (langsom!) blive brugt sjældnere. Jeg brugte dette script
Instruktioner findes i lageret, der er linket til ovenfor. Installation:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
Hvis du vil redigere konfigurationen:
vi /etc/default/zram-swap
Derudover kan du aktivere ZRAM ved at installere zram-tools
. Hvis du bruger denne metode, skal du sørge for at redigere konfigurationen i fil /etc/default/zramswap
, og installer omkring 1 GB ZRAM:
sudo apt install zram-tools
Efter installationen kan du se ZRAM-lagerstatistik 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:~ $
Tilføjelse af kerneparametre for bedre brug af ZRAM
Lad os nu rette op på systemets opførsel, når Raspberry Pi skifter til at bytte i sidste øjeblik, hvilket ofte fører til fryser. Lad os tilføje et par linjer til filen /etc/sysctl.conf og genstart.
Disse linjer 1) vil forsinke den uundgåelige udmattelse af hukommelsen, øge trykket på kernecachen og 2) de begynder at forberede sig på hukommelsesudmattelse tidligere, påbegynde bytte på forhånd. Men det vil være meget mere effektivt at bytte komprimeret hukommelse gennem ZRAM!
Her er linjerne, der skal tilføjes i slutningen af filen /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
Derefter genstarter vi systemet eller aktiverer ændringerne med følgende kommando:
sudo sysctl --system
vm.vfs_cache_pressure=500 øger cachetrykket, hvilket øger kernens tendens til at genvinde hukommelse, der bruges til at cache mappe og indeksere objekter. Du vil bruge mindre hukommelse i længere tid. Det kraftige fald i ydeevne ophæves af tidligere bytte.
vm.swappiness = 100 øger parameteren, hvor aggressivt kernen vil bytte hukommelsessider, da vi først bruger ZRAM.
vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - Baggrundsprocesser vil begynde at optage umiddelbart efter at have nået grænsen på 1 %, men systemet vil ikke tvinge synkron I/O, før det når dirty_ratio på 50 %.
Disse fire linjer (når de bruges med ZRAM) hjælper med at forbedre ydeevnen, hvis du har uundgåeligt RAM'en løber tør, og overgangen til swap begynder, ligesom min. Ved at kende dette faktum, og også under hensyntagen til hukommelseskomprimeringen i ZRAM tre gange, er det bedre at starte denne swap på forhånd.
At lægge pres på cachen hjælper, fordi vi i bund og grund fortæller kernen, "Hey, se, jeg har ikke nogen ekstra hukommelse at bruge til cachen, så slip venligst af med det ASAP og gem kun det mest brugte/vigtige data."
Selv med reduceret caching, hvis det meste af den installerede hukommelse over tid er optaget, vil kernen begynde opportunistisk swap meget tidligere, så CPU (komprimering) og swap I/O ikke vil vente til sidste øjeblik og bruge alle ressourcer på én gang, når det er for sent. ZRAM bruger lidt CPU til komprimering, men på de fleste systemer med små mængder hukommelse har det meget mindre effekt på ydeevnen end at bytte uden ZRAM.
Afslutningsvis
Lad os se på resultatet igen:
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 næsten en gigabyte ukomprimeret data. Alt gik til ZRAM og intet gik til den meget langsommere sidefil. Prøv selv disse indstillinger, de virker på alle Raspberry Pi-modeller. Mit ubrugelige frysesystem er blevet til et funktionelt og stabilt.
I den nærmeste fremtid håber jeg at fortsætte og opdatere denne artikel med nogle resultater fra test af systemet før og efter installation af ZRAM. Nu har jeg bare ikke tid til det her. I mellemtiden er du velkommen til at køre dine egne tests og fortælle mig det i kommentarerne. Raspberry Pi 4 er et udyr med disse indstillinger. God fornøjelse!
Om emnet:
Kilde: www.habr.com