Përformanca e Raspberry Pi: shtojmë ZRAM dhe ndryshojmë parametrat e bërthamës

Për një të kaluar dy javësh publikova një përmbledhje për Pinebook Pro. Duke marrë parasysh se Raspberry Pi 4 gjithashtu bazohet në ARM, disa nga optimizimet e përmendura në artikullin e kaluar janë krejtësisht të përshtatshme për të. Dëshiroj të ndaj këto truke dhe të shoh nëse ju do të shihni përmirësime të ngjashme në performancë.

Pas instalimit të Raspberry Pi në serverin tim shtëpiak , vura re se në momentet e mungesës së memorjes operativë, ajo bëhej shumë e ngadaltë dhe madje bllokohej. Për të zgjidhur këtë problem, shtova ZRAM dhe bëra disa ndryshime në parametrat e kernelit.

Aktivizimi i ZRAM në Raspberry Pi

Përformanca e Raspberry Pi: shtojmë ZRAM dhe ndryshojmë parametrat e bërthamës

ZRAM krijon një ruajtje bllok në memorjen operativë me emrin /dev/zram0 (ose 1, 2, 3 etj.). Fletët e shkruara aty ngjeshen dhe ruhen në memorje. Kjo siguron një hyrje-dalje shumë të shpejtë dhe gjithashtu çliron memorjen përmes ngjeshjes.

Raspberry Pi 4 vjen me 1, 2, 4 ose 8 GB memorje operative. Do të përdor modelin 1 GB, prandaj rregulloni udhëzimin sipas modelit tuaj. Me 1 GB, skedari i pagesës ZRAM (i ngadalshëm!) do të përdoret më rrallë. Unë përdora skenarin e tillë zram-swap për ta instaluar dhe konfiguruar automatikisht.

Udhëzimet janë në depot që janë në lidhjen e mësipërme. Instalimi:

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

Nëse dëshironi të redaktoni konfigurimin:

vi /etc/default/zram-swap

Përveç kësaj, mund të aktivizoni ZRAM duke instaluar zram-tools. Nëse përdorni këtë metodë, sigurohuni të redaktoni konfigurimin në skedarin /etc/default/zramswap, dhe vendosni rreth 1 GB ZRAM:

sudo apt install zram-tools

Pas instalimit, mund të shihni statistikën e ruajtjes ZRAM me komandën e mëposhtme:

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

Shtojmë parametrat e kernelit për një përdorim më të mirë të ZRAM

Tani do të korrigjojmë sjelljen e sistemit kur Raspberry Pi kalon në pagez administrativ në momentin e fundit, gjë që shpesh shkakton bllokime. Do të shtojmë disa rreshta në skedarin /etc/sysctl.conf dhe do të rinisim.

Këto rreshta 1) do të ngadalësojnë shterimin e paevitueshëm të memorjes, duke rritur presionin në ruajtjen e kernelit dhe 2) fillojnë më herët përgatitjen për shterimin e memorjes, duke iniciuar përpara pagesën. Por kjo do të jetë një pagesë shumë më efikase e memorjes së ngjeshur përmes ZRAM!

Këto janë rreshtat që duhet të shtoni në fund të skedarit /etc/sysctl.conf:

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

Pastaj rinisni sistemin ose aktivizoni ndryshimet me komandën e mëposhtme:

sudo sysctl --system

vm.vfs_cache_pressure=500 rrit presionin në cache, gjë që rrit prirjen e bërthamës për të riakumuar memorien që përdoret për caching të objekteve të direktoreve dhe indekseve. Do të përdorni më pak memorie për një periudhë më të gjatë. Rënia e papritur e performancës neutralizohet nga swapimi më i hershëm.

vm.swappiness=100 rrit parametrin se sa agresivisht bërthama do të swapojë faqe të memories, pasi fillimisht do të përdorim ZRAM.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 proceset e prapambetura do të fillojnë të shkruajnë menjëherë sapo të arrijnë limitin 1%, por sistemi nuk do të detyrohet të kryejë I/O sinqor derisa të arrihet dirty_ratio në 50%.

Këto katër rreshta (në përdorim me ZRAM) do të ndihmojnë në përmirësimin e performancës nëse keni padyshim memorinë e operativës që përfundon dhe kalon në swap, ashtu si ndodhi me mua. Duke qenë në dijeni të këtij fakti, si dhe duke marrë parasysh kompresimin e memories në ZRAM, është tri herë më mirë të filloni këtë swapim më herët.

Presioni në cache ndihmon, sepse ne në të vërtetë po i themi bërthamës: "Hej, dëgjo, nuk kam memorie shtesë për ta përdorur për cache, prandaj, të lutem, hiqje atë sa më shpejt dhe mbaje vetëm të dhënat më të përdorura/kryesore."

Edhe me uljen e caching-ut, nëse me kalimin e kohës pjesa më e madhe e memories së instaluar është e zënë, bërthama do të fillojë të swapojë shumë më herët, në mënyrë që procesori (kompresimi) dhe I/O e swapit mos të tërheqin deri në fund dhe të aktivizojnë të gjitha burimet menjëherë, kur është shumë vonë. ZRAM përdor pak CPU për kompresim, por në shumicën e sistemeve me memorie të ulët kjo ndikon shumë më pak në performancë se sa swap pa ZRAM.

Në përfundim

Le ta shohim një herë tjetër rezultat:

pi@raspberrypi:~ $ free -h
totali përdorur i lirë i ndarë buff/cache i disponueshëm
Mem: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi
Swap: 1.2Gi 258Mi 999Mi

pi@raspberrypi:~ $ sudo cat /proc/swaps 
Emri Tipi Madhësia Përdorur Prioritet
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 264448 5

264448 nĂ« ZRAM — Ă«shtĂ« pothuajse njĂ« gigabajt tĂ« dhĂ«nash tĂ« pa kompresuara. TĂ« gjitha shkuan nĂ« ZRAM dhe asgjĂ« nuk shkoi nĂ« skedarin e swapit qĂ« Ă«shtĂ« shumĂ« mĂ« i ngadalshĂ«m. Provo kĂ«to cilĂ«sime vetĂ«, ato funksionojnĂ« nĂ« tĂ« gjitha modelet e Raspberry Pi. Sistemi im i paqĂ«ndrueshĂ«m u shndĂ«rrua nĂ« njĂ« sistem tĂ« funksionueshĂ«m dhe stabil.

Në të ardhmen e afërt shpresoj të vazhdoj dhe të azhurnoj këtë artikull me disa rezultate të testimit të sistemit para dhe pas instalimit të ZRAM-it. Aktualisht nuk kam kohë për këtë. Ndërkohë, mos hezitoni të bëni testet tuaja dhe më tregoni në komentet. Raspberry Pi 4 është thjesht një kafshë me këto konfigurime. Gëzoni!

Në temë:

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster