Kuchita kwa Raspberry Pi: kuwonjezera ZRAM ndikusintha magawo a kernel

Masabata angapo apitawo ndidalemba Ndemanga ya Pinebook Pro. Popeza Raspberry Pi 4 imakhazikitsidwanso ndi ARM, zina mwazomwe zatchulidwa m'nkhani yapitayi ndizoyenera. Ndikufuna kugawana nawo zanzeru izi ndikuwona ngati mukukumana ndi kusintha komweko.

Mutakhazikitsa Raspberry Pi yanu chipinda cha seva yakunyumba Ndidawona kuti munthawi yakusowa kwa RAM idakhala yosalabadira komanso kuzizira. Kuti ndithetse vutoli, ndinawonjezera ZRAM ndikusintha pang'ono pazigawo za kernel.

Kuyambitsa ZRAM pa Raspberry Pi

Kuchita kwa Raspberry Pi: kuwonjezera ZRAM ndikusintha magawo a kernel

ZRAM imapanga malo osungira mu RAM otchedwa /dev/zram0 (kapena 1, 2, 3, etc.). Masamba olembedwa pamenepo amapanikizidwa ndikusungidwa m'makumbukidwe. Izi zimalola I/O yachangu kwambiri komanso imamasula kukumbukira kudzera kuphatikizika.

Raspberry Pi 4 imabwera ndi 1, 2, 4, kapena 8 GB ya RAM. Ndikhala ndikugwiritsa ntchito mtundu wa 1GB, kotero chonde sinthani malangizo kutengera mtundu wanu. Ndi 1 GB ZRAM, fayilo yosinthana yosasintha (pang'onopang'ono!) idzagwiritsidwa ntchito nthawi zambiri. Ndinagwiritsa ntchito script iyi zram-kusintha kwa unsembe ndi kasinthidwe basi.

Malangizo amaperekedwa munkhokwe yolumikizidwa pamwambapa. Kuyika:

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

Ngati mukufuna kusintha config:

vi /etc/default/zram-swap

Kuphatikiza apo, mutha kuyambitsa ZRAM ndikuyika zram-tools. Ngati mugwiritsa ntchito njirayi, onetsetsani kuti mwasintha config mu file /etc/default/zramswap, ndikuyika pafupifupi 1 GB ZRAM:

sudo apt install zram-tools

Mukakhazikitsa, mutha kuwona ziwerengero zosungira za ZRAM ndi lamulo ili:

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

Kuwonjezera magawo a kernel kuti mugwiritse ntchito bwino ZRAM

Tsopano tiyeni tikonze machitidwe a dongosolo pamene Raspberry Pi akusintha kuti asinthe panthawi yomaliza, zomwe nthawi zambiri zimabweretsa kuzizira. Tiyeni tiwonjezere mizere ingapo ku fayilo /etc/sysctl.conf ndi kuyambitsanso.

Izi mizere 1) zidzachedwetsa kutopa kosalephereka kwa kukumbukira, kuonjezera kupanikizika kwa kernel cache ndi 2) amayamba kukonzekera kutopa kukumbukira kale, kuyambitsa kusinthanitsa pasadakhale. Koma zidzakhala bwino kwambiri kusinthanitsa kukumbukira kokhazikika kudzera mu ZRAM!

Nayi mizere yoti muwonjezere kumapeto kwa fayilo /etc/sysctl.conf:

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

Kenako timayambiranso dongosolo kapena kuyambitsa zosinthazo ndi lamulo ili:

sudo sysctl --system

vm.vfs_cache_pressure=500 kumawonjezera kupanikizika kwa cache, zomwe zimawonjezera chizolowezi cha kernel chobwezeretsa kukumbukira komwe kumagwiritsidwa ntchito polemba cache ndi index zinthu. Mudzagwiritsa ntchito kukumbukira pang'ono kwa nthawi yayitali. Kutsika kwakukulu kwa magwiridwe antchito kumakanidwa ndi kusinthana koyambirira.

vm. kukondwa = 100 imawonjezera magawo momwe kernel imasinthira mwamphamvu masamba amakumbukiro, popeza tikugwiritsa ntchito ZRAM poyamba.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - njira zakumbuyo zidzayamba kujambula nthawi yomweyo zikafika malire a 1%, koma dongosololi silidzakakamiza ma synchronous I / O mpaka itafika dirty_ratio ya 50%.

Mizere inayi iyi (ikagwiritsidwa ntchito ndi ZRAM) ithandizira kukonza magwiridwe antchito ngati muli nawo mosalephera RAM ikutha ndipo kusintha kosinthana kumayamba, ngati kwanga. Kudziwa mfundo imeneyi, komanso kuganizira psinjika kukumbukira mu ZRAM katatu, ndi bwino kuyamba kusinthana izi pasadakhale.

Kuyika kukakamiza pa cache kumathandiza chifukwa timauza kernel, "Hei, yang'anani, ndilibe kukumbukira kwina kulikonse kuti ndigwiritse ntchito posungira, chonde chotsani ASAP ndikusunga zomwe zimagwiritsidwa ntchito / zofunika kwambiri. data."

Ngakhale ndi caching yocheperako, ngati pakapita nthawi zambiri zokumbukira zomwe zayikidwa zimakhala, kernel imayamba kusinthana mwamwayi kale, kotero kuti CPU (compression) ndi kusinthana I / O sizingadikire mpaka mphindi yomaliza ndikugwiritsa ntchito zida zonse nthawi imodzi. kwachedwa kwambiri. ZRAM imagwiritsa ntchito CPU pang'ono kuponderezana, koma pamakina ambiri okhala ndi kukumbukira pang'ono imakhala ndi magwiridwe antchito ochepa kuposa kusinthanitsa popanda ZRAM.

Pomaliza

Tiyeni tiwonenso zotsatira zake:

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 mu ZRAM ndi pafupifupi gigabyte imodzi ya data yosakanizidwa. Chilichonse chinapita ku ZRAM ndipo palibe chomwe chinapita ku fayilo yocheperako kwambiri. Yesani zosintha izi nokha, zimagwira ntchito pamitundu yonse ya Raspberry Pi. Dongosolo langa losagwiritsidwa ntchito, lozizira lasintha kukhala logwira ntchito komanso lokhazikika.

Posachedwapa, ndikuyembekeza kupitiriza ndikusintha nkhaniyi ndi zotsatira za kuyesa dongosololi musanayike ZRAM ndi itatha. Tsopano ndilibe nthawi ya izi. Pakadali pano, omasuka kuyesa mayeso anu ndikundidziwitsa mu ndemanga. Raspberry Pi 4 ndi chilombo chokhala ndi makonda awa. Sangalalani!

Pamutuwu:

Source: www.habr.com

Kuwonjezera ndemanga