Raspberry Pi jõudlus: ZRAM-i lisamine ja kerneli parameetrite muutmine

Paar nädalat tagasi postitasin Pinebook Pro ülevaade. Kuna Raspberry Pi 4 on samuti ARM-põhine, siis mõned eelmises artiklis mainitud optimeeringud on selle jaoks üsna sobivad. Tahaksin neid nippe jagada ja näha, kas teie toimivus paraneb samamoodi.

Pärast Raspberry Pi installimist oma kodu serveriruum Märkasin, et RAM-i nappuse hetkedel muutus see väga halvaks ja isegi tardus. Selle probleemi lahendamiseks lisasin ZRAM-i ja tegin kerneli parameetrites paar muudatust.

ZRAM-i aktiveerimine Raspberry Pi-s

Raspberry Pi jõudlus: ZRAM-i lisamine ja kerneli parameetrite muutmine

ZRAM loob RAM-i plokkmälu nimega /dev/zram0 (või 1, 2, 3 jne). Seal kirjutatud lehed tihendatakse ja salvestatakse mällu. See võimaldab väga kiiret I/O-d ja vabastab tihendamise kaudu ka mälu.

Raspberry Pi 4 on varustatud 1, 2, 4 või 8 GB muutmäluga. Kasutan 1 GB mudelit, seega kohandage juhiseid vastavalt oma mudelile. 1 GB ZRAM-i puhul kasutatakse vaikevahetusfaili (aeglast!) harvemini. Ma kasutasin seda skripti zram-vahetus paigaldamiseks ja automaatseks seadistamiseks.

Juhised on toodud ülaltoodud hoidlas. Paigaldamine:

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

Kui soovite konfiguratsiooni redigeerida:

vi /etc/default/zram-swap

Lisaks saate ZRAM-i aktiveerida installimise teel zram-tools. Kui kasutate seda meetodit, muutke kindlasti konfiguratsiooni failis /etc/default/zramswapja installige umbes 1 GB ZRAM:

sudo apt install zram-tools

Pä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:~ $

Kerneli parameetrite lisamine ZRAM-i paremaks kasutamiseks

Nüüd parandame süsteemi käitumist, kui Raspberry Pi lülitub viimasel hetkel ümber vahetamisele, mis sageli viib külmumiseni. Lisame faili paar rida /etc/sysctl.conf ja taaskäivitage.

Need read 1) aeglustab mälu vältimatut ammendumist, suurendades survet tuuma vahemällule ja 2) nad hakkavad mälu kurnamiseks valmistuma varem, alustades eelnevalt vahetamist. Kuid tihendatud mälu vahetamine ZRAM-i kaudu on palju tõhusam!

Siin on read, mis faili lõppu lisada /etc/sysctl.conf:

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

Seejärel taaskäivitame süsteemi või aktiveerime muudatused järgmise käsuga:

sudo sysctl --system

vm.vfs_cache_pressure=500 suurendab vahemälu survet, mis suurendab kerneli kalduvust taastada mälu, mida kasutatakse kataloogide ja objektide indekseerimiseks. Kasutate vähem mälu pikema aja jooksul. Jõudluse järsu languse tühistab varasem vahetamine.

vm. vahetus = 100 suurendab parameetrit, kui agressiivselt kernel mälulehti vahetab, kuna me kasutame kõigepealt ZRAM-i.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - taustprotsessid alustavad salvestamist kohe pärast 1% piiri saavutamist, kuid süsteem ei sunni sünkroonset sisendit/väljundit enne, kui see saavutab määrdumise suhte 50%.

Need neli rida (kui neid kasutatakse koos ZRAM-iga) aitavad jõudlust parandada, kui teil on paratamatult RAM saab otsa ja algab üleminek vahetamisele, nagu minulgi. Teades seda fakti ja võttes arvesse ka kolmekordset ZRAM-i mälu tihendamist, on parem seda vahetust eelnevalt alustada.

Vahemälu survestamine aitab, sest sisuliselt ütleme kernelile: "Hei, vaata, mul pole vahemälu jaoks lisamälu, nii et palun vabanege sellest võimalikult kiiresti ja salvestage ainult kõige sagedamini kasutatavad/tähtsamad andmed. andmed."

Isegi vähendatud vahemällu salvestamisel, kui aja jooksul on suurem osa installitud mälust hõivatud, alustab kernel oportunistlikku vahetamist palju varem, nii et CPU (tihendus) ja vahetus I/O ei oota viimase minutini ja kasutavad kõiki ressursse korraga, kui on liiga hilja. ZRAM kasutab tihendamiseks vähe protsessorit, kuid enamikus väikese mälumahuga süsteemides on sellel palju väiksem mõju jõudlusele kui ilma ZRAM-ita vahetamisel.

Kokkuvõttes

Vaatame tulemust uuesti:

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 ZRAM-is on peaaegu üks gigabait tihendamata andmeid. Kõik läks ZRAM-i ja midagi ei läinud palju aeglasemale lehefailile. Proovige neid seadistusi ise, need töötavad kõigil Raspberry Pi mudelitel. Minu kasutuskõlbmatu külmutussüsteem on muutunud toimivaks ja stabiilseks.

Lähitulevikus loodan seda artiklit jätkata ja värskendada mõningate tulemustega, mis on saadud süsteemi testimisest enne ja pärast ZRAM-i installimist. Nüüd pole mul selleks lihtsalt aega. Seniks tehke julgelt oma teste ja andke mulle kommentaarides teada. Raspberry Pi 4 on nende seadetega metsaline. Nautige!

Teemade kaupa:

Allikas: www.habr.com

Lisa kommentaar