Paari nädala eest avaldasin . 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 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

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 paigaldamiseks ja automaatseks seadistamiseks.
Juhised on esitatud ülaltoodud hoidlas. Installatsioon:
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 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-toolsPä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=50Seejärel taaskäivitage süsteem või aktiveerige muudatused järgmise käsklusega:
sudo sysctl --systemvm.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 5264448 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:
- (2017)
- (2020)
Allikas: habr.com
