Raspberry Pi гүйцэтгэл: ZRAM нэмэх, цөмийн параметрүүдийг өөрчлөх

Хэдэн долоо хоногийн өмнө би нийтэлсэн Pinebook Pro тойм. Raspberry Pi 4 нь ARM дээр суурилсан тул өмнөх нийтлэлд дурдсан зарим оновчлолууд нь үүнд тохиромжтой. Би эдгээр заль мэхийг хуваалцаж, гүйцэтгэлийн сайжруулалтыг танд мэдрэхийг хүсч байна.

Raspberry Pi-г суулгасны дараа таны гэрийн серверийн өрөө RAM-ийн хомсдолын үед энэ нь маш их хариу үйлдэл үзүүлэхгүй, бүр хөлддөг болохыг би анзаарсан. Энэ асуудлыг шийдэхийн тулд би ZRAM нэмээд цөмийн параметрүүдэд цөөн хэдэн өөрчлөлт хийсэн.

Raspberry Pi дээр ZRAM-г идэвхжүүлж байна

Raspberry Pi гүйцэтгэл: ZRAM нэмэх, цөмийн параметрүүдийг өөрчлөх

ZRAM /dev/zram0 (эсвэл 1, 2, 3 гэх мэт) нэртэй RAM-д блок хадгалах санг үүсгэдэг. Тэнд бичигдсэн хуудсууд нь шахагдаж, санах ойд хадгалагддаг. Энэ нь маш хурдан оролт/гаралт хийх боломжийг олгодог бөгөөд мөн шахалтын тусламжтайгаар санах ойг чөлөөлдөг.

Raspberry Pi 4 нь 1, 2, 4, эсвэл 8 ГБ RAM-тай. Би 1ГБ загварыг ашиглах тул өөрийн загварт үндэслэн зааврыг тохируулна уу. 1 ГБ ZRAM-тай бол анхдагч своп файл (удаан!) бага ашиглагддаг. Би энэ скриптийг ашигласан zram-солилцоо суурилуулалт болон автомат тохиргоонд зориулагдсан.

Зааврыг дээр дурдсан хадгалах санд өгсөн болно. Суурилуулалт:

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

Хэрэв та тохиргоог засахыг хүсвэл:

vi /etc/default/zram-swap

Нэмж хэлэхэд та ZRAM-г суулгаснаар идэвхжүүлж болно zram-tools. Хэрэв та энэ аргыг ашигладаг бол тохиргоог засахаа мартуузай файлд /etc/default/zramswap, мөн ойролцоогоор 1 ГБ ZRAM суулгана уу:

sudo apt install zram-tools

Суулгасны дараа та ZRAM хадгалалтын статистикийг дараах тушаалаар харж болно.

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

ZRAM-г илүү сайн ашиглахын тулд цөмийн параметрүүдийг нэмж оруулав

Одоо Raspberry Pi нь ихэвчлэн хөлдөхөд хүргэдэг эцсийн мөчид своп руу шилжих үед системийн үйл ажиллагааг засъя. Файлд хэдэн мөр нэмж оруулъя /etc/sysctl.conf болон дахин ачаална уу.

Эдгээр мөрүүд 1) санах ойн зайлшгүй ядралтыг хойшлуулах болно, цөмийн кэш дээрх даралтыг нэмэгдүүлэх ба 2) Тэд ой санамжаа ядрахад эртнээс бэлдэж эхэлдэг, урьдчилан солилцох ажлыг эхлүүлэх. Гэхдээ шахсан санах ойг ZRAM-аар солих нь илүү үр дүнтэй байх болно!

Энд файлын төгсгөлд нэмэх мөрүүд байна /etc/sysctl.conf:

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

Дараа нь бид системийг дахин ачаалах эсвэл дараах тушаалаар өөрчлөлтүүдийг идэвхжүүлнэ.

sudo sysctl --system

vm.vfs_cache_pressure=500 кэшийн даралтыг нэмэгдүүлдэг бөгөөд энэ нь цөмийн сан болон индекс объектуудыг кэш хийхэд ашигладаг санах ойг сэргээх хандлагыг нэмэгдүүлдэг. Та удаан хугацааны туршид бага санах ой ашиглах болно. Гүйцэтгэлийн огцом уналтыг өмнөх солих замаар үгүйсгэдэг.

vm.sappappiness = 100 Бид эхлээд ZRAM ашиглаж байгаа тул цөм санах ойн хуудсыг хэр түрэмгий байдлаар солих параметрийг нэмэгдүүлдэг.

vm.dirty_background_racio=1 & vm.dirty_racio=50 - арын процессууд 1% хязгаарт хүрмэгц шууд бичлэг хийж эхлэх боловч систем нь бохир_харьцаа 50% хүрэх хүртэл синхрон оролт/гаралтыг хүчлэхгүй.

Эдгээр дөрвөн мөр нь (ZRAM-д ашиглах үед) хэрэв байгаа бол гүйцэтгэлийг сайжруулахад тусална зайлшгүй RAM дуусч, минийх шиг своп руу шилжих шилжилт эхэлдэг. Энэ баримтыг мэдэж, мөн ZRAM дахь санах ойн шахалтыг гурван удаа харгалзан үзвэл энэ солилцоог урьдчилан эхлүүлэх нь дээр.

Бид цөмд "Хөөе, харагтун, надад кэш ашиглах нэмэлт санах ой байхгүй тул үүнийг нэн даруй устгаж, зөвхөн хамгийн их ашиглагддаг/чухалыг нь хадгалаарай" гэж хэлж байгаа тул кэш дээр дарамт үзүүлэх нь тусалдаг. өгөгдөл."

Кэшийг багасгасан ч хэрэв цаг хугацааны явцад суулгасан санах ойн ихэнх хэсгийг эзэлдэг бол цөм нь оппортунист свопыг илүү эрт эхлүүлэх бөгөөд ингэснээр CPU (шахалт) болон своп I/O нь эцсийн мөч хүртэл хүлээхгүй бөгөөд бүх нөөцийг нэг дор ашиглах болно. Энэ хэтэрхий оройтсон. ZRAM нь шахалтанд бага зэрэг CPU ашигладаг боловч бага хэмжээний санах ойтой ихэнх системүүд дээр ZRAM-гүй солихоос хамаагүй бага гүйцэтгэлд нөлөөлдөг.

Эцэст нь хэлэхэд

Үр дүнг дахин харцгаая:

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

ZRAM дахь 264448 нь бараг нэг гигабайт шахагдаагүй өгөгдөл юм. Бүх зүйл ZRAM руу явсан бөгөөд илүү удаан хуудасны файл руу юу ч очсонгүй. Эдгээр тохиргоог өөрөө туршиж үзээрэй, тэдгээр нь бүх Raspberry Pi загвар дээр ажилладаг. Миний ашиглах боломжгүй, хөлдөөх систем нь ажиллагаатай, тогтвортой систем болж хувирсан.

Ойрын ирээдүйд ZRAM суулгахын өмнө болон дараа нь системийг туршиж үзсэний үр дүнд энэ нийтлэлийг үргэлжлүүлж, шинэчлэх болно гэж найдаж байна. Одоо надад үүнийг хийх цаг алга. Энэ хооронд өөрийн туршилтаа хийж, сэтгэгдэл дээр надад мэдэгдээрэй. Raspberry Pi 4 бол эдгээр тохиргоотой араатан юм. Сайхан амраарай!

Сэдэвээр:

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх