Raspberry Pi-efikeco: aldonado de ZRAM kaj ŝanĝado de kernaj parametroj

Antaŭ kelkaj semajnoj mi afiŝis Recenzo de Pinebook Pro. Ĉar Raspberry Pi 4 ankaŭ estas ARM-bazita, kelkaj el la optimumigoj menciitaj en la antaŭa artikolo sufiĉe taŭgas por ĝi. Mi ŝatus kunhavigi ĉi tiujn lertaĵojn kaj vidi ĉu vi spertas la samajn rendimentajn plibonigojn.

Post instali la Raspberry Pi en via hejma servilo ĉambro Mi rimarkis, ke en momentoj de RAM-manko ĝi iĝis tre neresponda kaj eĉ frostiĝis. Por solvi ĉi tiun problemon, mi aldonis ZRAM kaj faris kelkajn ŝanĝojn al la kernaj parametroj.

Aktivigo de ZRAM sur Raspberry Pi

Raspberry Pi-efikeco: aldonado de ZRAM kaj ŝanĝado de kernaj parametroj

ZRAM kreas blokan stokadon en RAM nomita /dev/zram0 (aŭ 1, 2, 3, ktp.). La paĝoj tie skribitaj estas kunpremitaj kaj konservitaj en memoro. Ĉi tio permesas tre rapidan I/O kaj ankaŭ liberigas memoron per kunpremado.

La Raspberry Pi 4 venas kun 1, 2, 4 aŭ 8 GB da RAM. Mi uzos la 1GB-modelon, do bonvolu ĝustigi la instrukciojn laŭ via modelo. Kun 1 GB ZRAM, la defaŭlta interŝanĝdosiero (malrapida!) estos uzata malpli ofte. Mi uzis ĉi tiun skripton zram-interŝanĝo por instalado kaj aŭtomata agordo.

Instrukcioj estas provizitaj en la deponejo ligita supre. Instalado:

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

Se vi volas redakti la agordon:

vi /etc/default/zram-swap

Krome, vi povas aktivigi ZRAM instalante zram-tools. Se vi uzas ĉi tiun metodon, nepre redakti la agordon en dosiero /etc/default/zramswap, kaj instalu ĉirkaŭ 1 GB ZRAM:

sudo apt install zram-tools

Post instalado, vi povas vidi statistikojn pri konservado de ZRAM per la sekva komando:

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

Aldonante kernajn parametrojn por pli bona uzo de ZRAM

Nun ni riparu la konduton de la sistemo kiam la Raspberry Pi ŝanĝas al interŝanĝado en la lasta momento, kio ofte kondukas al frostiĝoj. Ni aldonu kelkajn liniojn al la dosiero /etc/sysctl.conf kaj rekomencu.

Ĉi tiuj linioj 1) prokrastos la neeviteblan elĉerpiĝon de la memoro, pliigante la premon sur la kernkaŝmemoro kaj 2) ili komencas prepariĝi por memorelĉerpiĝo pli frue, komencante interŝanĝadon anticipe. Sed estos multe pli efika interŝanĝi kunpremitan memoron per ZRAM!

Jen la linioj por aldoni ĉe la fino de la dosiero /etc/sysctl.conf:

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

Tiam ni rekomencas la sistemon aŭ aktivigas la ŝanĝojn per la sekva komando:

sudo sysctl --system

vm.vfs_cache_pressure=500 pliigas kaŝmemorpremon, kiu pliigas la emon de la kerno repreni memoron uzitan por konservi dosierujojn kaj indeksajn objektojn. Vi uzos malpli da memoro dum pli longa tempodaŭro. La akra falo en rendimento estas neita per pli frua interŝanĝado.

vm.swappiness = 100 pliigas la parametron kiom agreseme la kerno interŝanĝos memorpaĝojn, ĉar ni unue uzas ZRAM.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - fonaj procezoj komencos registri tuj atinginte la limon de 1%, sed la sistemo ne devigos sinkronan I/O ĝis ĝi atingas malpuran proporcion de 50%.

Ĉi tiuj kvar linioj (kiam uzataj kun ZRAM) helpos plibonigi rendimenton, se vi havas neeviteble La RAM elĉerpiĝas kaj komenciĝas la transiro al interŝanĝo, kiel la mia. Konante ĉi tiun fakton, kaj ankaŭ konsiderante la memoran kunpremadon en ZRAM trifoje, estas pli bone komenci ĉi tiun interŝanĝon anticipe.

Premo sur la kaŝmemoron helpas ĉar ni esence diras al la kerno: "He, rigardu, mi ne havas kroman memoron por uzi por la kaŝmemoro, do bonvolu forigi ĝin kiel eble plej frue kaj stoki nur la plej ofte uzatan/gravan. datumoj."

Eĉ kun reduktita kaŝmemoro, se kun la tempo la plej granda parto de la instalita memoro estas okupita, la kerno komencos oportunisman interŝanĝon multe pli frue, tiel ke CPU (kunpremado) kaj interŝanĝa I/O ne atendos ĝis la lasta minuto kaj uzos ĉiujn rimedojn samtempe kiam estas tro malfrue. ZRAM uzas iom da CPU por kunpremado, sed ĉe la plej multaj sistemoj kun malgrandaj kvantoj da memoro ĝi havas multe malpli efikan efikon ol interŝanĝo sen ZRAM.

En konkludo

Ni rigardu la rezulton denove:

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 en ZRAM estas preskaŭ unu gigabajto da nekunpremitaj datumoj. Ĉio iris al ZRAM kaj nenio iris al la multe pli malrapida paĝdosiero. Provu ĉi tiujn agordojn mem, ili funkcias ĉe ĉiuj modeloj de Raspberry Pi. Mia neuzebla, frosta sistemo fariĝis funkcia kaj stabila.

En proksima estonteco, mi esperas daŭrigi kaj ĝisdatigi ĉi tiun artikolon kun kelkaj rezultoj de testado de la sistemo antaŭ kaj post instali ZRAM. Nun mi simple ne havas tempon por ĉi tio. Intertempe, bonvolu fari viajn proprajn testojn kaj informi min en la komentoj. La Raspberry Pi 4 estas besto kun ĉi tiuj agordoj. Ĝuu!

Pri la temo:

fonto: www.habr.com

Aldoni komenton