MÔni nÀdal tagasi avaldasin . Kuna Raspberry Pi 4 pÔhineb samuti ARM-il, sobivad mÔned varasemas artiklis mainitud optimeerimisviisid ka sellele. Soovin neid trikke jagada ja uurida, kas ka teil ilmnevad samalaadsed jÔudluse parandused.
PÀrast Raspberry Pi seadistamist oma mÀrkasin, et mÀlupuuduse korral muutus see vÀga vastupidavaks ning isegi tardus. Selle probleemi lahendamiseks lisasin ZRAM-i ja tegin mitmeid muudatusi kerneliparameetrites.
ZRAM-i aktiveerimine Raspberry Pi-l

loo mÀlu ruum, mille nimi on /dev/zram0 (vÔi 1, 2, 3 jne). Sellele salvestatud lehed surutakse kokku ja salvestatakse mÀllu. See vÔimaldab vÀga kiiret sisendi ja vÀljundi operatsiooni ning vabastab mÀlu kompressiooni abil.
Raspberry Pi 4 on saadaval 1, 2, 4 vÔi 8 GB RAM-iga. Kasutan 1 GB mudelit, seega kohandage juhiseid vastavalt oma mudelile. 1 GB juures kasutatakse ZRAM-i vaikimisi vahetusfail (aeglane!) harvemini. Kasutasin selleks skripti installimise ja automaatse seadistamise jaoks.
Juhised on esitatud ĂŒlaltoodud hoidlas. Paigaldamine:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.shKui soovite konfiguratsiooni redigeerida:
vi /etc/default/zram-swap Lisaks on vÔimalik ZRAM-i aktiveerida, installides zram-tools. Kui kasutate seda meetodit, mÀÀrige kindlasti konfi failis /etc/default/zramswap, ja seadistage umbes 1 GB ZRAM:
sudo apt install zram-toolsPÀrast installimist saate vaadata ZRAM-i salvestusstatistikat jÀrgmise kÀsuga:
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $Lisame kerneliparameetrid ZRAM-i parema kasutamise jaoks
NĂŒĂŒd parandaksem sĂŒsteemi kĂ€itumist, kui Raspberry Pi vahetab viimases etapis, mis sageli pĂ”hjustab tardumisi. Lisame mĂ”ned read faili /etc/sysctl.conf ja taaskĂ€ivitame.
Need read 1) venitavad vÀltimatut mÀlutÀitumist, suurendades kernelivaru survet ja 2) alustavad varem mÀlu tÀitumise ettevalmistamist, algatades vahetuse ette. Kuid see on palju tÔhusam kompressitud mÀlu vahetus ZRAM-i kaudu!
Siin on read, mis tuleb faili lÔppu lisada /etc/sysctl.conf:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50SeejĂ€rel taaskĂ€ivitame sĂŒsteemi vĂ”i aktiveerime muudatused jĂ€rgmise kĂ€suga:
sudo sysctl --systemvm.vfs_cache_pressure=500 suurendab survet vahemÀllesse, mis suurendab tuuma kalduvust taastada mÀlu, mida kasutatakse kataloogide ja indeksite objektide vahemÀlestamiseks. Te kasutate vÀhem mÀlu pikema aja jooksul. Terav jÔudluse langus tasakaalustatakse varasema vahetamisega.
vm.swappiness=100 suurendab parameetrit, kui agressiivselt tuum lehekĂŒlgi mĂ€lu vahetab, kuna me esmalt kasutame ZRAM-i.
vm.dirty_background_ratio=1 & vm.dirty_ratio=50 â taustprotsessid alustavad kirjutamist kohe, kui saavutatakse 1% piir, kuid sĂŒsteem ei sunni sĂŒnkroonset sisestamist/vale kirjutamist, kuni saavutatakse dirty_ratio 50%.
Need neli rida (koos ZRAM-iga) aitavad parandada jÔudlust, kui teil on paratamatult mÀlumahu lÔppemine ja vahetamisega alustamine, nagu minul. Teades seda fakti ning arvestades ZRAM-i mÀhetiheduse kolm korda paremat kompressiooni, on mÔistlik alustada vahetamist varem.
VahemĂ€lu surve aitab, sest me sisuliselt ĂŒtleme tuumale: "Hei, kuule, mul ei ole lisamĂ€lu, mida saaks kasutada vahemĂ€luks, seega palun vabane sellest nii kiiresti kui vĂ”imalik ja hoia vaid kĂ”ige sagedamini kasutatavaid/olulisi andmeid."
Isegi vahemĂ€lu vĂ€hendamise korral, kui aja jooksul on suur enamik mÀÀratud mĂ€lu hĂ”ivatud, hakkab tuum opportunistlikult vahetama palju varem, et protsessor (kompressioon) ja vahetusse sisend/vĂ€ljund ei koormaks viimasele hetkele, kasutades kĂ”iki ressursse korraga, kui on juba liiga hilja. ZRAM kasutab veidi CPU-d kompressiooniks, kuid enamikus vĂ€hese mĂ€lu sĂŒsteemides mĂ”jutab see jĂ”udlust palju vĂ€hem kui vahetus ilma ZRAM-ita.
KokkuvÔtteks
Vaadakem tulemusi veel kord:
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 5264448 ZRAM-is â see on peaaegu ĂŒks gigabaidist kompressimata andmeid. KĂ”ik lĂ€ks ZRAM-i ja midagi ei jĂ”udnud palju aeglasemasse vahetusfaili. Proovige ise selliseid seadistusi, need töötavad kĂ”igil Raspberry Pi mudelitel. Minu aeglane ja nĂ”rk sĂŒsteem muutus töötavaks ja stabiilseks.
LĂ€hitulevikus loodaksin jĂ€tkata ja uuendada seda artiklit, lisades mĂ”ned sĂŒsteemi testimise tulemused enne ja pĂ€rast ZRAMi installimist. Praegu mul lihtsalt ei ole selleks aega. Kuid Ă€lge kartke teha oma teste ja andke kommentaarides teada. Raspberry Pi 4 on selliste seadistustega tĂ”eline elukas. Nautige!
Teema:
- (2017)
- (2020)
Allikas: habr.com
