Raspberry Pi-ren errendimendua: ZRAM gehitzea eta nukleoaren parametroak aldatzea

Duela pare bat aste argitaratu nuen Pinebook Pro berrikuspena. Raspberry Pi 4 ere ARM-ean oinarrituta dagoenez, aurreko artikuluan aipatutako optimizazio batzuk nahiko egokiak dira horretarako. Trikimailu hauek partekatu nahiko nituzke eta errendimendu-hobekuntza berdinak ikusten dituzun ikusi.

Zure Raspberry Pi instalatu ondoren etxeko zerbitzari gela RAM eskasaren uneetan oso erantzunik ez zuela eta izoztu ere egiten zela ohartu nintzen. Arazo hau konpontzeko, ZRAM gehitu eta nukleoaren parametroetan aldaketa batzuk egin nituen.

ZRAM aktibatzen Raspberry Pi-n

Raspberry Pi-ren errendimendua: ZRAM gehitzea eta nukleoaren parametroak aldatzea

ZRAM /dev/zram0 (edo 1, 2, 3, etab.) izeneko RAM-n bloke-biltegiratze bat sortzen du. Bertan idatzitako orrialdeak konprimitu eta memorian gordetzen dira. Horrek I/O oso azkarra ahalbidetzen du eta, gainera, memoria askatzen du konpresio bidez.

Raspberry Pi 4-k 1, 2, 4 edo 8 GB RAM ditu. 1GB eredua erabiliko dut, beraz, mesedez, egokitu argibideak zure ereduaren arabera. 1 GB ZRAMarekin, lehenetsitako truke fitxategia (motela!) gutxiagotan erabiliko da. Script hau erabili dut zram-truke instalaziorako eta konfigurazio automatikorako.

Argibideak goiko estekatutako biltegian ematen dira. Instalazioa:

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

Konfigurazioa editatu nahi baduzu:

vi /etc/default/zram-swap

Horrez gain, ZRAM aktibatu dezakezu instalatuz zram-tools. Metodo hau erabiltzen baduzu, ziurtatu konfigurazioa editatzen duzula fitxategian /etc/default/zramswap, eta instalatu 1 GB ZRAM inguru:

sudo apt install zram-tools

Instalatu ondoren, ZRAM biltegiratze-estatistikak ikus ditzakezu komando honekin:

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

Nukleoaren parametroak gehitzea ZRAM hobeto erabiltzeko

Orain konpondu dezagun sistemaren portaera azken momentuan Raspberry Pi trukatzera pasatzen denean, eta horrek askotan izozteak eragiten ditu. Gehi ditzagun lerro batzuk fitxategiari /etc/sysctl.conf eta berrabiarazi.

Lerro hauek 1) memoriaren ezinbesteko nekea atzeratuko du, nukleoaren cachearen presioa handituz eta 2) lehenago hasten dira memoria agortzeko prestatzen, aldez aurretik trukea hasiz. Baina askoz eraginkorragoa izango da konprimitutako memoria ZRAM bidez trukatzea!

Hona hemen fitxategiaren amaieran gehitzeko lerroak /etc/sysctl.conf:

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

Ondoren, sistema berrabiaraziko dugu edo aldaketak aktibatzen ditugu komando honekin:

sudo sysctl --system

vm.vfs_cache_pressure=500 cachearen presioa areagotzen du, eta horrek nukleoaren joera areagotzen du direktorio eta objektu indizeak cacheatzeko erabiltzen den memoria berreskuratzeko. Memoria gutxiago erabiliko duzu denbora luzeagoan. Errendimenduaren beherakada handia ezeztatu egiten da lehenago trukeak.

vm.swappiness = 100 nukleoak memoria-orriak nola aldatuko dituen erasokorren parametroa handitzen du, lehen ZRAM erabiltzen ari garelako.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - atzeko planoko prozesuak berehala hasiko dira grabatzen % 1eko mugara iristean, baina sistemak ez du I/O sinkronoa behartuko % 50eko dirty_ratio-ra iritsi arte.

Lau lerro hauek (ZRAMekin erabiltzen direnean) errendimendua hobetzen lagunduko dizute baduzu ezinbestean RAM agortu eta trukatzeko trantsizioa hasten da, nirea bezala. Gertaera hori jakinda, eta ZRAM-en memoria-konpresioa hiru aldiz kontuan hartuta, hobe da aldez aurretik truke hau hastea.

Cachean presioa egiteak laguntzen du, funtsean, nukleoari esaten diogulako: "Aizu, begira, ez daukat memoria gehigarririk cacherako erabiltzeko, beraz, mesedez, ken ezazu lehenbailehen eta gorde gehien erabiltzen/garrantzitsuena soilik". datuak".

Nahiz eta caching murriztua egon, denborarekin instalatutako memoria gehiena okupatuta badago, nukleoa askoz lehenago hasiko da truke oportunista, beraz, CPU (konpresioa) eta truke I/O ez dira azken unera arte itxaron eta baliabide guztiak aldi berean erabiliko ditu. beranduegi da. ZRAM-ek CPU apur bat erabiltzen du konpresiorako, baina memoria kopuru txikia duten sistema gehienetan errendimendu eragin txikiagoa du ZRAM gabe trukatzeak baino.

Ondorioz

Ikus dezagun berriro emaitza:

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-en ia gigabyte bat da konprimitu gabeko datuen. Dena ZRAMra joan zen eta ezer ez zen askoz ere motelagoa den orrialde fitxategira. Probatu ezarpen hauek zuk zeuk, Raspberry Pi modelo guztietan funtzionatzen dute. Nire erabilezin, izozte-sistema funtzional eta egonkor bihurtu da.

Etorkizun hurbil batean, artikulu hau jarraitzea eta eguneratzea espero dut sistemaren probak ZRAM instalatu aurretik eta ondoren emaitza batzuekin. Orain ez dut horretarako astirik. Bitartean, anima zaitez zure probak egin eta jakinarazi iezadazu iruzkinetan. Raspberry Pi 4 ezarpen hauek dituen piztia da. Gozatu!

Gaiaren inguruan:

Iturria: www.habr.com

Gehitu iruzkin berria