Raspberry Pi-prestasie: voeg ZRAM by en verander kernparameters

'n Paar weke gelede het ek gepos Pinebook Pro-resensie. Aangesien die Raspberry Pi 4 ook op ARM gebaseer is, is sommige van die optimaliserings wat in die vorige artikel genoem is, baie geskik daarvoor. Ek wil graag hierdie truuks deel en kyk of jy dieselfde prestasieverbeterings ervaar.

Nadat u die Raspberry Pi in u tuisbedienerkamer Ek het opgemerk dat dit in oomblikke van 'n gebrek aan RAM baie onreageer en selfs gelui het. Om hierdie probleem op te los, het ek ZRAM bygevoeg en 'n paar veranderinge aan die kernparameters aangebring.

Aktiveer ZRAM op Raspberry Pi

Raspberry Pi-prestasie: voeg ZRAM by en verander kernparameters

ZRAM skep 'n blokberging in RAM genaamd /dev/zram0 (of 1, 2, 3, ens.). Die bladsye wat daar geskryf is, word saamgepers en in die geheue gestoor. Dit maak voorsiening vir baie vinnige I/O en maak ook geheue vry deur kompressie.

Die Raspberry Pi 4 kom met 1, 2, 4 of 8 GB RAM. Ek sal die 1 GB-model gebruik, so pas die instruksies aan na gelang van jou model. Met 1 GB ZRAM, sal die verstek ruillêer (stadig!) minder gereeld gebruik word. Ek het so 'n skrif gebruik zram-ruil vir installasie en outomatiese konfigurasie.

Instruksies word verskaf in die bewaarplek hierbo gekoppel. Installasie:

git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh

As jy die konfigurasie wil wysig:

vi /etc/default/zram-swap

Daarbenewens kan jy ZRAM aktiveer deur die instelling zram-tools. As jy hierdie metode gebruik, maak seker dat jy die konfigurasie wysig in lêer /etc/default/zramswap, en installeer ongeveer 1GB ZRAM:

sudo apt install zram-tools

Na die installasie kan u ZRAM-bergingstatistieke met die volgende opdrag bekyk:

sudo cat /proc/swaps
Filename				Type		Size	Used	Priority
/var/swap                               file		102396	0	-2
/dev/zram0                              partition	1185368	265472	5
pi@raspberrypi:~ $

Voeg kernopsies by vir beter ZRAM-gebruik

Kom ons maak nou die stelselgedrag reg wanneer die Raspberry Pi op die laaste oomblik na ruil oorskakel, wat dikwels lei tot vries. Kom ons voeg 'n paar reëls by die lêer /etc/sysctl.conf en herlaai.

Hierdie reëls 1) vertraag die onvermydelike uitputting van geheue, deur die druk op die kernkas te verhoog en 2) begin vroeër voorberei vir geheue-uitputting, begin blaai vooraf. Maar dit sal 'n baie meer doeltreffende blaai van saamgeperste geheue via ZRAM wees!

Hier is die reëls wat aan die einde van die lêer bygevoeg moet word /etc/sysctl.conf:

vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50

Herlaai dan die stelsel of aktiveer die wysigings met die volgende opdrag:

sudo sysctl --system

vm.vfs_cache_pressure=500 verhoog die druk op die kas, wat die kern se neiging verhoog om geheue wat gebruik word vir die kasgids en indeksvoorwerpe te herwin. Jy sal minder geheue oor 'n langer tydperk gebruik. Die skerp daling in prestasie word ontken deur vroeëre omruiling.

vm.swappiness = 100 verhoog die parameter vir hoe aggressief die kern bladsye geheue sal ruil, aangesien ons eers ZRAM gebruik.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 — agtergrondprosesse sal begin opneem sodra die 1% limiet bereik is, maar die stelsel sal nie sinchroniese I/O dwing totdat dit 50% dirty_ratio bereik nie.

Hierdie vier lyne (wanneer dit saam met ZRAM gebruik word) sal help om werkverrigting te verbeter as jy het onvermydelik RAM raak op en die oorgang na ruil begin, soos myne. As u hierdie feit ken, en ook die geheue-kompressie in ZRAM met 'n faktor van drie in ag neem, is dit beter om hierdie ruil vroeg te begin.

Kasdruk help omdat ons basies vir die kern sê, "Haai, kyk, ek het nie ekstra geheue om vir kas te gebruik nie, so raak asseblief so gou moontlik daarvan ontslae en hou net die mees gebruikte/belangrikste data. "

Selfs met minder kas, as die meeste van die geïnstalleerde geheue met verloop van tyd opgeneem word, sal die kern die op-ruil baie gouer begin, sodat SVE (kompressie) en ruil I/O nie tot die laaste sal trek en alle hulpbronne sal gebruik nie dadelik as dit te laat is. ZRAM gebruik 'n bietjie SVE vir kompressie, maar op die meeste lae geheue stelsels het dit 'n baie kleiner prestasie-impak as 'n ruil sonder ZRAM.

Ten slotte

Kom ons kyk weer na die resultaat:

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 byna een gigagreep ongecomprimeerde data. Alles het in ZRAM ingegaan en niks het in die baie stadiger ruillêer ingegaan nie. Probeer hierdie instellings self, dit werk op alle Raspberry Pi-modelle. My onbruikbare hangstelsel het in 'n werkbare en stabiele een verander.

In die nabye toekoms hoop ek om voort te gaan en hierdie artikel op te dateer met sommige van die resultate van die toets van die stelsel voor en na die installering van ZRAM. Nou het ek net nie tyd daarvoor nie. Voel vry om intussen jou eie toetse uit te voer en laat weet my in die kommentaar. Die Raspberry Pi 4 is 'n dier met hierdie instellings. Geniet dit!

Oor die onderwerp:

Bron: will.com

Voeg 'n opmerking