Raspberry Pi veiktspēja: ZRAM pievienošana un kodola parametru maiņa

Pirms pāris nedēļām es ievietoju Pinebook Pro apskats. Tā kā Raspberry Pi 4 ir arī balstīts uz ARM, dažas no iepriekšējā rakstā minētajām optimizācijām tam ir diezgan piemērotas. Es vēlos dalīties ar šiem trikiem un noskaidrot, vai jums ir tādi paši veiktspējas uzlabojumi.

Pēc Raspberry Pi instalēšanas savā mājas serveru telpa Es pamanīju, ka RAM trūkuma brīžos tas kļuva ļoti nereaģē un pat sastinga. Lai atrisinātu šo problēmu, es pievienoju ZRAM un veicu dažas izmaiņas kodola parametros.

ZRAM aktivizēšana Raspberry Pi

Raspberry Pi veiktspēja: ZRAM pievienošana un kodola parametru maiņa

ZRAM izveido bloku krātuvi RAM ar nosaukumu /dev/zram0 (vai 1, 2, 3 utt.). Tur rakstītās lapas tiek saspiestas un saglabātas atmiņā. Tas nodrošina ļoti ātru I/O, kā arī atbrīvo atmiņu, izmantojot saspiešanu.

Raspberry Pi 4 ir aprīkots ar 1, 2, 4 vai 8 GB RAM. Es izmantošu 1 GB modeli, tāpēc, lūdzu, pielāgojiet norādījumus atbilstoši savam modelim. Izmantojot 1 GB ZRAM, noklusējuma mijmaiņas fails (lēns!) tiks izmantots retāk. Es izmantoju šo skriptu zram-swap uzstādīšanai un automātiskai konfigurēšanai.

Norādījumi ir sniegti iepriekš norādītajā repozitorijā. Uzstādīšana:

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

Ja vēlaties rediģēt konfigurāciju:

vi /etc/default/zram-swap

Turklāt jūs varat aktivizēt ZRAM, instalējot zram-tools. Ja izmantojat šo metodi, noteikti rediģējiet konfigurāciju failā /etc/default/zramswap, un instalējiet apmēram 1 GB ZRAM:

sudo apt install zram-tools

Pēc instalēšanas varat skatīt ZRAM krātuves statistiku, izmantojot šādu komandu:

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

Kodola parametru pievienošana labākai ZRAM izmantošanai

Tagad labosim sistēmas uzvedību, kad Raspberry Pi pēdējā brīdī pārslēdzas uz maiņu, kas bieži noved pie sasalšanas. Pievienosim failam dažas rindiņas /etc/sysctl.conf un pārstartējiet.

Šīs rindas 1) aizkavēs neizbēgamo atmiņas izsīkumu, palielinot spiedienu uz kodola kešatmiņu un 2) viņi sāk gatavoties atmiņas izsīkumam agrāk, uzsākot apmaiņu iepriekš. Bet daudz efektīvāk būs apmainīt saspiesto atmiņu caur ZRAM!

Šeit ir rindas, kas jāpievieno faila beigās /etc/sysctl.conf:

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

Pēc tam mēs restartējam sistēmu vai aktivizējam izmaiņas ar šādu komandu:

sudo sysctl --system

vm.vfs_cache_pressure=500 palielina kešatmiņas spiedienu, kas palielina kodola tendenci atgūt atmiņu, kas tiek izmantota direktoriju un objektu indeksēšanai. Jūs izmantosiet mazāk atmiņas ilgāku laiku. Straujo veiktspējas kritumu novērš agrāka maiņa.

vm.maiņa = 100 palielina parametru, cik agresīvi kodols mainīs atmiņas lapas, jo mēs vispirms izmantojam ZRAM.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - fona procesi sāks ierakstīt uzreiz pēc 1% robežas sasniegšanas, bet sistēma nepiespiedīs sinhrono I/O, kamēr tas nesasniegs dirty_ratio 50%.

Šīs četras līnijas (ja tās tiek izmantotas kopā ar ZRAM) palīdzēs uzlabot veiktspēju, ja tāda ir neizbēgami RAM beidzas un sākas pāreja uz mijmaiņu, tāpat kā manējā. Zinot šo faktu, kā arī ņemot vērā atmiņas saspiešanu ZRAM trīs reizes, labāk ir sākt šo mijmaiņu iepriekš.

Spiediena uzlikšana kešatmiņai palīdz, jo mēs būtībā sakām kodolam: "Ei, paskaties, man nav nekādas papildu atmiņas, ko izmantot kešatmiņai, tāpēc, lūdzu, atbrīvojieties no tās pēc iespējas ātrāk un saglabājiet tikai visbiežāk lietoto/svarīgāko. dati."

Pat ar samazinātu kešatmiņu, ja laika gaitā lielākā daļa instalētās atmiņas ir aizņemta, kodols sāks oportūnistisku mijmaiņu daudz agrāk, lai CPU (kompresijas) un mijmaiņas I/O negaidītu līdz pēdējai minūtei un vienlaikus izmantotu visus resursus. ir par vēlu. ZRAM saspiešanai izmanto nedaudz CPU, taču lielākajā daļā sistēmu ar nelielu atmiņas apjomu tam ir daudz mazāka ietekme uz veiktspēju nekā mijmaiņai bez ZRAM.

Noslēgumā

Apskatīsim rezultātu vēlreiz:

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 ir gandrīz viens gigabaits nesaspiestu datu. Viss aizgāja uz ZRAM un nekas netika uz daudz lēnāku lapas failu. Izmēģiniet šos iestatījumus pats, tie darbojas visos Raspberry Pi modeļos. Mana nelietojamā, sasalstošā sistēma ir pārvērtusies par funkcionālu un stabilu.

Tuvākajā nākotnē es ceru turpināt un atjaunināt šo rakstu ar dažiem sistēmas testēšanas rezultātiem pirms un pēc ZRAM instalēšanas. Tagad man vienkārši nav laika tam. Tikmēr droši veiciet savus testus un dariet man to zināmu komentāros. Raspberry Pi 4 ir zvērs ar šiem iestatījumiem. Izbaudi!

Par šo tēmu:

Avots: www.habr.com

Pievieno komentāru