Raspberry Pi -suorituskyky: ZRAM:in lisääminen ja ytimen parametrien muuttaminen

Pari viikkoa sitten postasin Pinebook Pron arvostelu. Koska Raspberry Pi 4 on myös ARM-pohjainen, jotkin edellisessä artikkelissa mainitut optimoinnit sopivat siihen varsin. Haluaisin jakaa nämä temput ja nähdä, koetko samoja suorituskyvyn parannuksia.

Kun olet asentanut Raspberry Pi:n kotipalvelinhuone Huomasin, että RAM-muistin puutteen hetkinä se ei reagoinut ja jopa jäätyi. Tämän ongelman ratkaisemiseksi lisäsin ZRAM-muistin ja tein muutamia muutoksia ytimen parametreihin.

ZRAM:n aktivointi Raspberry Pi:ssä

Raspberry Pi -suorituskyky: ZRAM:in lisääminen ja ytimen parametrien muuttaminen

ZRAM luo lohkomuistin RAM-muistiin /dev/zram0 (tai 1, 2, 3 jne.). Siellä kirjoitetut sivut pakataan ja tallennetaan muistiin. Tämä mahdollistaa erittäin nopean I/O:n ja vapauttaa myös muistia pakkaamalla.

Raspberry Pi 4:ssä on 1, 2, 4 tai 8 Gt RAM-muistia. Käytän 1 Gt:n mallia, joten säädä ohjeet mallisi mukaan. 1 Gt:n ZRAM-muistilla oletusvaihtotiedostoa (hidas!) käytetään harvemmin. Käytin tätä skriptiä zram-swap asennusta ja automaattista konfigurointia varten.

Ohjeet löytyvät yllä linkitetystä arkistosta. Asennus:

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

Jos haluat muokata asetusta:

vi /etc/default/zram-swap

Lisäksi voit aktivoida ZRAM:in asentamalla zram-tools. Jos käytät tätä menetelmää, muista muokata konfiguraatiota tiedostossa /etc/default/zramswap, ja asenna noin 1 Gt ZRAM-muistia:

sudo apt install zram-tools

Asennuksen jälkeen voit tarkastella ZRAM-tallennustilastoja seuraavalla komennolla:

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

Ytimen parametrien lisääminen ZRAM:n tehokkaampaan käyttöön

Korjataan nyt järjestelmän käyttäytyminen, kun Raspberry Pi siirtyy viime hetkellä vaihtoon, mikä usein johtaa jäätymiseen. Lisätään tiedostoon muutama rivi /etc/sysctl.conf- ja käynnistä uudelleen.

Nämä rivit 1) viivästyttää muistin väistämätöntä ehtymistä, lisää painetta ytimen välimuistiin ja 2) he alkavat valmistautua muistin ehtymiseen aikaisemmin, aloittamalla vaihdon etukäteen. Mutta on paljon tehokkaampaa vaihtaa pakattu muisti ZRAM:n kautta!

Tässä ovat rivit, jotka lisätään tiedoston loppuun /etc/sysctl.conf-:

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

Sitten käynnistämme järjestelmän uudelleen tai aktivoimme muutokset seuraavalla komennolla:

sudo sysctl --system

vm.vfs_cache_pressure=500 lisää välimuistin painetta, mikä lisää ytimen taipumusta ottaa takaisin muistia, jota käytetään hakemisto- ja indeksointiobjektien välimuistiin. Käytät vähemmän muistia pidemmän aikaa. Suorituskyvyn jyrkkä pudotus kumoutuu aikaisemmalla vaihdolla.

vm. vaihto = 100 lisää parametria kuinka aggressiivisesti ydin vaihtaa muistisivuja, koska käytämme ensin ZRAM-muistia.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - taustaprosessit alkavat tallentaa heti 1 %:n rajan saavuttua, mutta järjestelmä ei pakota synkronista I/O:ta ennen kuin se saavuttaa 50 % dirty_ratio -arvon.

Nämä neljä riviä (käytettäessä ZRAM:n kanssa) auttavat parantamaan suorituskykyä, jos sinulla on väistämättä RAM loppuu ja siirtyminen swapiin alkaa, kuten minun. Tietäen tämän tosiasian ja ottaen huomioon myös ZRAM-muistin pakkauksen kolme kertaa, on parempi aloittaa tämä vaihto etukäteen.

Välimuistin painostaminen auttaa, koska kerromme ytimelle: "Hei, katso, minulla ei ole ylimääräistä muistia käytettäväksi välimuistille, joten poista se mahdollisimman pian ja tallenna vain useimmin käytetyt/tärkeimmät tiedot. dataa."

Vaikka suurin osa asennetusta muistista on varattu ajan myötä, ydin aloittaa opportunistisen vaihdon paljon aikaisemmin, joten CPU (pakkaus) ja swap I/O eivät odota viime hetkeen asti ja käyttävät kaikkia resursseja kerralla. On liian myöhäistä. ZRAM käyttää vähän CPU:ta pakkaamiseen, mutta useimmissa järjestelmissä, joissa on vähän muistia, sillä on paljon vähemmän suorituskykyä kuin vaihdolla ilman ZRAM:ia.

lopuksi

Katsotaanpa tulosta uudelleen:

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 ZRAMissa on lähes yksi gigatavu pakkaamatonta dataa. Kaikki meni ZRAMiin, eikä mikään mennyt paljon hitaampaan sivutiedostoon. Kokeile näitä asetuksia itse, ne toimivat kaikissa Raspberry Pi -malleissa. Käyttämättömästä pakkasjärjestelmästäni on tullut toimiva ja vakaa.

Lähitulevaisuudessa toivon voivani jatkaa ja päivittää tätä artikkelia tuloksilla, jotka on saatu järjestelmän testaamisesta ennen ZRAM:n asentamista ja sen jälkeen. Nyt minulla ei vain ole aikaa tähän. Sillä välin voit suorittaa omat testisi ja kertoa minulle kommenteissa. Raspberry Pi 4 on peto näillä asetuksilla. Nauttia!

Aiheesta:

Lähde: will.com

Lisää kommentti