Raspberry Pi jõudlus: lisame ZRAM-i ja muudame tuuma seadistusi

Paari nädala eest avaldasin Pinebook Pro ülevaate. Kuna Raspberry Pi 4 põhineb samuti ARM-il, sobivad mõned eelnevas artiklis mainitud optimeeringud ka selle jaoks. Tahaksin jagada neid nippe ja teada, kas ka teil ilmnevad sarnased jõudluse parendused.

Pärast Raspberry Pi seadistamist oma kodusesse serverisse täiesti märkasin, et mälu puuduse korral muutus see väga ebamugavaks ja isegi hangus. Selle probleemi lahendamiseks lisasin ZRAM-i ja tegin mõned muudatused kernel'i seadetes.

ZRAM-i aktiveerimine Raspberry Pi-s

Raspberry Pi jõudlus: lisame ZRAM-i ja muudame tuuma seadistusi

ZRAM loob mälu sees plokkhoidla nimega /dev/zram0 (või 1, 2, 3 jne). Sellesse salvestatud lehed kompressitakse ja hoitakse mälus. See võimaldab väga kiiret sisend-väljundit ning vabastab mälu kompressiooniga.

Raspberry Pi 4 on saadaval 1, 2, 4 või 8 GB mäluga. Kasutan 1 GB mudelit, seega kohandage juhiseid vastavalt oma mudelile. 1 GB puhul kasutatakse ZRAM-i tõttu vaikimisi vahetusfaili (aeglane!) harvemini. Kasutasin sellist skripti zram-swap paigaldamiseks ja automaatseks seadistamiseks.

Juhised on esitatud ülaltoodud hoidlas. Installatsioon:

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 on ZRAMi aktiveerimiseks võimalik installida zram-tools. Kui kasutate seda meetodit, tuleb kindlasti konfiguratsioon redigeerida failis /etc/default/zramswap, ja seadistage ligikaudu 1 GB ZRAM:

sudo apt install zram-tools

Pärast installimist saate ZRAMi salvestusstatistikat vaadata järgmise käsuga:

sudo cat /proc/swaps
Failinimi				Tüüp		Suurus	Kasutatud	Prioriteet
/var/swap                               fail		102396	0	-2
/dev/zram0                              partitsioon	1185368	265472	5
pi@raspberrypi:~ $

Lisame tuumaparameetreid ZRAMi tõhusamaks kasutamiseks

Nüüd parandame süsteemi käitumist, kui Raspberry Pi suundub viimase hetke vahetusse, mis tihti viib hangumiseni. Lisame mõned read faili /etc/sysctl.conf ja taaskäivitame.

Need read 1) löövad lühiajalise mälukaotuse edasi, suurendades tuuma vahemälu survet ja 2) hakkavad mälumuudatust ette valmistama, käivitades vahetuse eelnevalt. Kuid see on palju tõhusam vahetus pigistatava mäluga, kasutades ZRAMi!

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=50

Seejärel taaskäivitage süsteem või aktiveerige muudatused järgmise käsklusega:

sudo sysctl --system

vm.vfs_cache_pressure=500 suurendab vahemenüü survet, mis suurendab tuuma kalduvust eraldama mälu, mida kasutatakse kataloogide ja indeksite objekti vahemällu hoidmiseks. Te kasutate vähem mälu pikema aja jooksul. Otsene jõudluse langus neutraliseeritakse varasema vahetuse tõttu.

vm.swappiness=100 suurendab parameetrit, kui agressiivselt tuum mälulehti vahetab, kuna me kasutame esmalt ZRAM-i.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 — taustprotsessid hakkavad kirjutama kohe, kui saavutatakse 1% piir, kuid süsteem ei sunni kohustuslikku sünkroonset sisend-väljundit enne, kui ta jõuab 50% dirty_ratio-ni.

Need neli rida (kasutades ZRAM-i) aitavad parandada jõudlust juhul, kui teil on möödumatult lõppemas töömälu ja hakkab vahetusprotsess käima, nagu mul on. Teades seda fakti ning arvestades ZRAM-i mä compressimise kolme korda parem tekitab see soovitava vahetuse enne.

Vaheõhkude rõhk aitab, sest me räägime tegelikult tuumale: "Hei, kuula, mul ei ole üleliigset mälu, et seda vaheõhkude jaoks kasutada, seega palun vabane sellest võimalikult kiiresti ja hoia ainult kõige sagedamini kasutatavaid/olulisi andmeid."

Isegi kütmise vähendamise korral, kui aja jooksul enamik paigaldatud mälust on hõivatud, hakkab tuum opportunistlikku vahetust palju varem, nii et protsessor (kompressioon) ja sisend/välja tõukamine ei venita viimase minutini ja ei kasuta kõiki ressursse korraga, kui on juba liiga hilja. ZRAM kasutab kompressiooniks veidi CPU-d, kuid enamikes madala mälu mahtudega süsteemides mõjutab see jõudlust oluliselt 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 5

264448 ZRAM-is — see peaaegu üks gigabait tihendamata andmeid. Kõik läks ZRAM-i ja mitte midagi ei sattunud palju aeglasemasse vahetusfaili. Proovige ise selliseid seadistusi, need töötavad kõikidel Raspberry Pi mudelitel. Minu kasutuskõlbmatu süsteem muutus töötavaks ja stabiilseks.

Lähitulevikus loodan jätkata ja uuendada seda artiklit, tuues mõned süsteemi testimise tulemused enne ja pärast ZRAM-i installimist. Hetkel mul lihtsalt ei ole aega. Siiski ärge kartke teha oma teste ja andke kommentaarides teada. Raspberry Pi 4 on tõeliselt tugev koos selliste seadistustega. Nautige!

Teema:

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster