Prestazione Raspberry Pi: aghjunghje ZRAM è cambià i paràmetri di u kernel

Un paru di settimane fà aghju publicatu Recensione di Pinebook Pro. Siccomu Raspberry Pi 4 hè ancu basatu in ARM, alcune di l'ottimisazioni citate in l'articulu precedente sò abbastanza adattati per questu. Mi piacerebbe sparte questi trucchi è vede s'ellu sperimentate i stessi miglioramenti di u rendiment.

Dopu à stallà u Raspberry Pi in u vostru stanza di u servitore di casa Aghju nutatu chì in i mumenti di carenza di RAM hè diventatu assai senza risposta è ancu congelatu. Per risolve stu prublema, aghju aghjustatu ZRAM è aghju fattu uni pochi cambiamenti à i paràmetri di u kernel.

Attivà ZRAM nantu à Raspberry Pi

Prestazione Raspberry Pi: aghjunghje ZRAM è cambià i paràmetri di u kernel

ZRAM crea un almacenamentu di bloccu in RAM chjamatu /dev/zram0 (o 1, 2, 3, etc.). E pagine scritte quì sò compresse è guardate in memoria. Questu permette un I / O assai veloce è libera ancu a memoria per cumpressione.

U Raspberry Pi 4 vene cun 1, 2, 4 o 8 GB di RAM. Aduprà u mudellu 1GB, cusì aghjustate l'istruzzioni basatu annantu à u vostru mudellu. Cù 1 GB ZRAM, u schedariu di scambiu predeterminatu (lentu!) serà usatu menu spessu. Aghju utilizatu stu script zram-swap per a stallazione è a cunfigurazione automatica.

Istruzzioni sò furnite in u repositoriu ligatu sopra. Installazione:

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

Se vulete edità a cunfigurazione:

vi /etc/default/zram-swap

Inoltre, pudete attivà ZRAM installendu zram-tools. Se aduprate stu metudu, assicuratevi di edità a cunfigurazione in u schedariu /etc/default/zramswap, è installate circa 1 GB ZRAM:

sudo apt install zram-tools

Dopu a stallazione, pudete vede e statistiche di almacenamiento ZRAM cù u cumandimu seguente:

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

Aghjunghjendu parametri di kernel per un megliu usu di ZRAM

Avà correggemu u cumpurtamentu di u sistema quandu u Raspberry Pi cambia à scambià à l'ultimu mumentu, chì spessu porta à i congelamenti. Aghjunghjite uni pochi di linii à u schedariu /etc/sysctl.conf è riavvia.

Queste linee 1) ritardarà l'inevitabbile esaurimentu di a memoria, aumentendu a pressione nantu à a cache di u kernel è 2) cumincianu a preparazione per l'esaurimentu di a memoria prima, iniziando u scambiu in anticipu. Ma serà assai più efficaci di scambià a memoria cumpressa attraversu ZRAM!

Eccu i linii per aghjunghje à a fine di u schedariu /etc/sysctl.conf:

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

Allora reboot u sistema o attivemu i cambiamenti cù u cumandimu seguitu:

sudo sysctl --system

vm.vfs_cache_pressure=500 aumenta a pressione di cache, chì aumenta a tendenza di u kernel à ricuperà a memoria utilizata per cache u repertoriu è l'oggetti d'indici. Aduprate menu memoria per un periudu di tempu più longu. A forte calata di u rendiment hè negata da u scambiu prima.

vm.swappiness = 100 aumenta u paràmetru quantu aggressivu u kernel scambià e pagine di memoria, postu chì usemu prima ZRAM.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - I prucessi di fondo cumincianu à registrà immediatamente dopu avè righjuntu u limitu di 1%, ma u sistema ùn forzarà micca l'I / O sincronu finu à chì righjunghji dirty_ratio di 50%.

Queste quattru linee (quandu s'utilicenu cù ZRAM) aiutanu à migliurà u rendiment si avete inevitabbilità A RAM si esaurisce è a transizione per scambià principia, cum'è a meia. Sapendu stu fattu, è ancu piglià in contu a cumpressione di memoria in ZRAM da trè volte, hè megliu inizià stu swap in anticipu.

Mette a pressione nantu à a cache aiuta perchè avemu essenzialmente dicendu à u kernel, "Ehi, eccu, ùn aghju micca memoria extra per aduprà per a cache, allora per piacè sbarazzarsi di questu ASAP è almacenà solu u più frequentemente utilizatu / impurtante. dati".

Ancu cun caching ridutta, se cù u tempu a maiò parte di a memoria installata hè occupata, u kernel hà da cumincià à scambià opportunisticu assai prima, perchè CPU (compressione) è scambià I / O ùn aspittàranu micca finu à l'ultimu minutu è aduprà tutte e risorse in una volta quandu. hè troppu tardu. ZRAM usa un pocu CPU per a compressione, ma in a maiò parte di i sistemi cù picculi quantità di memoria hà assai menu di un impattu di rendiment chì scambià senza ZRAM.

In cunclusioni

Fighjemu dinò u risultatu:

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 in ZRAM hè quasi un gigabyte di dati senza cumpressione. Tuttu andò à ZRAM è nunda andò à u schedariu di pagina assai più lento. Pruvate sti paràmetri, funzionanu in tutti i mudelli Raspberry Pi. U mo sistema di congelazione inutilizabile hè diventatu un funziunale è stabile.

In un futuru vicinu, spergu di cuntinuà è aghjurnà stu articulu cù qualchi risultati da a prova di u sistema prima è dopu a stallazione di ZRAM. Avà solu ùn aghju micca tempu per questu. Intantu, sentite liberu di fà e vostre teste è fatemi sapè in i cumenti. U Raspberry Pi 4 hè una bestia cù questi paràmetri. Prufittate!

Per subject:

Source: www.habr.com

Add a comment