Perfformiad Raspberry Pi: ychwanegu ZRAM a newid paramedrau cnewyllyn

Ychydig wythnosau yn Γ΄l postiais Adolygiad Pinebook Pro. Gan fod Raspberry Pi 4 hefyd yn seiliedig ar ARM, mae rhai o'r optimizations a grybwyllwyd yn yr erthygl flaenorol yn eithaf addas ar ei gyfer. Hoffwn rannu'r triciau hyn a gweld a ydych chi'n profi'r un gwelliannau perfformiad.

Ar Γ΄l gosod y Raspberry Pi yn eich ystafell gweinydd cartref Sylwais, mewn eiliadau o brinder RAM, ei fod wedi dod yn anymatebol iawn a hyd yn oed wedi rhewi. I ddatrys y broblem hon, ychwanegais ZRAM a gwneud ychydig o newidiadau i baramedrau'r cnewyllyn.

Ysgogi ZRAM ar Raspberry Pi

Perfformiad Raspberry Pi: ychwanegu ZRAM a newid paramedrau cnewyllyn

ZRAM yn creu storfa bloc mewn RAM o'r enw /dev/zram0 (neu 1, 2, 3, ac ati). Mae'r tudalennau a ysgrifennwyd yno yn cael eu cywasgu a'u storio yn y cof. Mae hyn yn caniatΓ‘u I/O cyflym iawn a hefyd yn rhyddhau cof trwy gywasgu.

Daw'r Raspberry Pi 4 gyda 1, 2, 4, neu 8 GB o RAM. Byddaf yn defnyddio'r model 1GB, felly addaswch y cyfarwyddiadau yn seiliedig ar eich model. Gyda 1 GB ZRAM, bydd y ffeil cyfnewid rhagosodedig (araf!) yn cael ei defnyddio'n llai aml. Defnyddiais y sgript hon zram-gyfnewid ar gyfer gosod a chyfluniad awtomatig.

Darperir cyfarwyddiadau yn y gadwrfa sydd wedi'i chysylltu uchod. Gosod:

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

Os ydych chi am olygu'r ffurfweddiad:

vi /etc/default/zram-swap

Yn ogystal, gallwch chi actifadu ZRAM trwy osod zram-tools. Os ydych chi'n defnyddio'r dull hwn, gwnewch yn siΕ΅r eich bod chi'n golygu'r ffurfwedd mewn ffeil /etc/default/zramswap, a gosod tua 1 GB ZRAM:

sudo apt install zram-tools

Ar Γ΄l gosod, gallwch weld ystadegau storio ZRAM gyda'r gorchymyn canlynol:

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

Ychwanegu paramedrau cnewyllyn ar gyfer gwell defnydd o ZRAM

Nawr gadewch i ni drwsio ymddygiad y system pan fydd y Raspberry Pi yn newid i gyfnewid ar yr eiliad olaf, sy'n aml yn arwain at rewi. Gadewch i ni ychwanegu ychydig o linellau at y ffeil /etc/sysctl.conf ac ailgychwyn.

Y llinellau hyn 1) yn gohirio blinder anochel y cof, gan gynyddu'r pwysau ar y storfa cnewyllyn a 2) maent yn dechrau paratoi ar gyfer blinder cof yn gynharach, cychwyn cyfnewid ymlaen llaw. Ond bydd yn llawer mwy effeithlon cyfnewid cof cywasgedig trwy ZRAM!

Dyma'r llinellau i'w hychwanegu ar ddiwedd y ffeil /etc/sysctl.conf:

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

Yna rydym yn ailgychwyn y system neu'n actifadu'r newidiadau gyda'r gorchymyn canlynol:

sudo sysctl --system

vm.vfs_cache_pressure=500 yn cynyddu pwysau storfa, sy'n cynyddu tueddiad y cnewyllyn i adennill cof a ddefnyddir i storio cyfeiriadur a mynegeio gwrthrychau. Byddwch yn defnyddio llai o gof am gyfnod hirach o amser. Mae'r gostyngiad sydyn mewn perfformiad yn cael ei negyddu gan gyfnewid cynharach.

vm.swappiness = 100 yn cynyddu'r paramedr pa mor ymosodol y bydd y cnewyllyn yn cyfnewid tudalennau cof, gan ein bod yn defnyddio ZRAM yn gyntaf.

vm.dirty_background_ratio=1 & vm.dirty_cymhareb=50 - bydd prosesau cefndir yn dechrau cofnodi yn syth ar Γ΄l cyrraedd y terfyn 1%, ond ni fydd y system yn gorfodi I/O cydamserol nes ei fod yn cyrraedd cymhareb dirty_cymhareb o 50%.

Bydd y pedair llinell hyn (pan gΓ’nt eu defnyddio gyda ZRAM) yn helpu i wella perfformiad os oes gennych chi yn anochel Mae'r RAM yn dod i ben ac mae'r newid i gyfnewid yn dechrau, fel fy un i. Gan wybod y ffaith hon, a hefyd gan ystyried y cywasgu cof yn ZRAM dair gwaith, mae'n well cychwyn y cyfnewid hwn ymlaen llaw.

Mae rhoi pwysau ar y storfa yn helpu oherwydd rydyn ni'n dweud wrth y cnewyllyn yn y bΓ΄n, "Hei, edrychwch, nid oes gennyf unrhyw gof ychwanegol i'w ddefnyddio ar gyfer y storfa, felly gwaredwch ef cyn gynted Γ’ phosibl a dim ond storio'r rhai a ddefnyddir amlaf / pwysicaf data."

Hyd yn oed gyda llai o caching, os bydd y rhan fwyaf o'r cof gosodedig yn cael ei feddiannu dros amser, bydd y cnewyllyn yn dechrau cyfnewid manteisgar yn gynt o lawer, fel na fydd CPU (cywasgu) a chyfnewid I / O yn aros tan y funud olaf ac yn defnyddio'r holl adnoddau ar unwaith pan mae'n rhy hwyr. Mae ZRAM yn defnyddio ychydig o CPU ar gyfer cywasgu, ond ar y rhan fwyaf o systemau sydd Γ’ symiau bach o gof mae ganddo lawer llai o effaith perfformiad na chyfnewid heb ZRAM.

I gloi

Edrychwn eto ar y canlyniad:

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

Mae 264448 yn ZRAM bron yn un gigabeit o ddata heb ei gywasgu. Aeth popeth i ZRAM ac ni aeth dim i'r ffeil dudalen llawer arafach. Rhowch gynnig ar y gosodiadau hyn eich hun, maen nhw'n gweithio ar bob model Raspberry Pi. Mae fy system rhewi na ellir ei defnyddio wedi troi'n un swyddogaethol a sefydlog.

Yn y dyfodol agos, rwy'n gobeithio parhau a diweddaru'r erthygl hon gyda rhai canlyniadau o brofi'r system cyn ac ar Γ΄l gosod ZRAM. Nawr does gen i ddim amser ar gyfer hyn. Yn y cyfamser, mae croeso i chi redeg eich profion eich hun a gadewch i mi wybod yn y sylwadau. Mae'r Raspberry Pi 4 yn fwystfil gyda'r gosodiadau hyn. Mwynhewch!

Yn Γ΄l pwnc:

Ffynhonnell: hab.com

Ychwanegu sylw