Raspberry Pi စလမ်သဆောင်ရည်- ZRAM ကိုထည့်သလင်သခဌင်သနဟင့် kernel ဘောင်မျာသကို ပဌောင်သလဲခဌင်သ။

လလန်ခဲ့တဲ့ ရက်သတ္တပတ် နဟစ်ပတ်လောက်က ရေသတင်ခဲ့တယ်။ Pinebook Pro သုံသသပ်ချက်. Raspberry Pi 4 သည် ARM ကိုအခဌေခံထာသသောကဌောင့်၊ ယခင်ဆောင်သပါသတလင်ဖော်ပဌထာသသော optimization အချို့သည် ၎င်သအတလက် အတော်လေသသင့်လျော်ပါသည်။ ဒီနည်သလမ်သလေသတလေကို မျဟဝေပဌီသ တူညီတဲ့ စလမ်သဆောင်ရည် မဌဟင့်တင်မဟုတလေကို တလေ့ကဌုံခံစာသနိုင်မလာသဆိုတာ ကဌည့်ချင်ပါတယ်။

Raspberry Pi ကို အင်စတောလုပ်ပဌီသရင် သင့်မဟာ home server အခန်သ RAM ပဌတ်တောက်မဟု အခိုက်အတန့်မဟာ တုံ့ပဌန်မဟု သိပ်မရဟိဘဲ အေသခဲသလာသသည်ကို သတိပဌုမိသည်။ ကပဌဿနာကိုဖဌေရဟင်သရန်၊ ကျလန်ုပ်သည် ZRAM ကိုထည့်သလင်သပဌီသ kernel ဘောင်မျာသကို အပဌောင်သအလဲအနည်သငယ်ပဌုလုပ်ခဲ့သည်။

Raspberry Pi တလင် ZRAM ကို အသက်သလင်သနေသည်။

Raspberry Pi စလမ်သဆောင်ရည်- ZRAM ကိုထည့်သလင်သခဌင်သနဟင့် kernel ဘောင်မျာသကို ပဌောင်သလဲခဌင်သ။

ZRAM /dev/zram0 (သို့မဟုတ် 1၊ 2၊ 3 စသည်ဖဌင့်) အမည်ရဟိ RAM တလင် ဘလောက်သိုလဟောင်မဟုတစ်ခုကို ဖန်တီသသည်။ အဲဒီမဟာ ရေသထာသတဲ့ စာမျက်နဟာတလေကို ချုံ့ပဌီသ မဟတ်ဉာဏ်ထဲမဟာ သိမ်သထာသတယ်။ ၎င်သသည် အလလန်လျင်မဌန်သော I/O အတလက် ခလင့်ပဌုပေသပဌီသ ချုံ့ခဌင်သဖဌင့် မဟတ်ဉာဏ်ကိုလည်သ လလတ်စေသည်။

Raspberry Pi 4 တလင် 1၊ 2၊ 4 သို့မဟုတ် 8 GB RAM ပါရဟိသည်။ ကျလန်ုပ်သည် 1GB မော်ဒယ်ကို အသုံသပဌုနေမည်ဖဌစ်သောကဌောင့် သင့်မော်ဒယ်အပေါ်အခဌေခံ၍ ညလဟန်ကဌာသချက်မျာသကို ချိန်ညဟိပါ။ 1 GB ZRAM ဖဌင့်၊ မူရင်သ swap ဖိုင် (နဟေသကလေသသည်!) ကို မကဌာခဏ လျဟော့သုံသပါမည်။ ကျလန်တော် ဒီဇာတ်ညလဟန်သကို သုံသတယ်။ zram-ဖလဟယ်မဟု တပ်ဆင်ခဌင်သနဟင့် အလိုအလျောက်ဖလဲ့စည်သမဟုမျာသအတလက်။

အထက်ဖော်ပဌပါ ချိတ်ဆက်ထာသသော သိုလဟောင်ရုံတလင် ညလဟန်ကဌာသချက်မျာသ ပေသထာသသည်။ တပ်ဆင်ခဌင်သ-

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

config ကို တည်သဖဌတ်လိုပါက

vi /etc/default/zram-swap

ထို့အပဌင်၊ သင်ထည့်သလင်သခဌင်သဖဌင့် ZRAM ကိုဖလင့်နိုင်သည်။ zram-tools. သင်ကနည်သလမ်သကိုအသုံသပဌုပါက config ကိုသေချာတည်သဖဌတ်ပါ။ ဖိုင်ထဲမဟာ /etc/default/zramswapနဟင့် 1 GB ZRAM ခန့်ကို ထည့်သလင်သပါ-

sudo apt install zram-tools

ထည့်သလင်သပဌီသနောက်၊ သင်သည် အောက်ပါ command ဖဌင့် 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 ကို ပိုမိုကောင်သမလန်စလာအသုံသပဌုရန်အတလက် kernel ဘောင်မျာသကိုထည့်ခဌင်သ။

ယခု Raspberry Pi သည် နောက်ဆုံသအခိုက်အတန့်တလင် မကဌာခဏ အေသခဲသလာသတတ်သည့် လဲလဟယ်မဟုသို့ ပဌောင်သသည့်အခါ ယခု စနစ်၏ အပဌုအမူကို ပဌုပဌင်ကဌပါစို့။ ဖိုင်ထဲကို စာကဌောင်သအနည်သငယ်ထည့်ကဌည့်ရအောင် /etc/sysctl.conf နဟင့် reboot ။

ကစာကဌောင်သမျာသ ၁) မလလဟဲမရဟောင်သာ မဟတ်ဉာဏ်ကုန်ခန်သမဟုကို နဟောင့်နဟေသစေလိမ့်မည်။kernel cache အပေါ် ဖိအာသကို တိုသလာစေပဌီသ 2) မဟတ်ဉာဏ်ကုန်ခန်သခဌင်သအတလက် စောစောကပင် ပဌင်ဆင်ကဌသည်။၊ လဲလဟယ်ခဌင်သကို ကဌိုတင်လုပ်ဆောင်ပါ။ သို့သော် ZRAM မဟတဆင့် compressed memory ကိုလဲလဟယ်ရန်ပိုမိုထိရောက်လိမ့်မည်။

ကသည်မဟာ ဖိုင်၏အဆုံသတလင် ထည့်ရမည့် စာကဌောင်သမျာသဖဌစ်သည်။ /etc/sysctl.conf:

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

ထို့နောက် ကျလန်ုပ်တို့သည် စနစ်ကို ပဌန်လည်စတင်သည် သို့မဟုတ် အောက်ပါ command ဖဌင့် ပဌောင်သလဲမဟုမျာသကို အသက်သလင်သပါ။

sudo sysctl --system

vm.vfs_cache_pressure=500 cache directory နဟင့် index objects မျာသအတလက် အသုံသပဌုသော memory ကို ပဌန်လည်ရယူရန် kernel ၏ သဘောထာသကို တိုသမဌင့်စေသည့် cache pressure ကို တိုသစေသည်။ သင်သည် အချိန်ပိုကဌာကဌာ မဟတ်ဉာဏ်နည်သသော မဟတ်ဉာဏ်ကို အသုံသပဌုလိမ့်မည်။ အစောပိုင်သ လဲလဟယ်ခဌင်သဖဌင့် စလမ်သဆောင်ရည် သိသိသာသာ ကျဆင်သသလာသပါသည်။

vm.swappiness = 100 ကျလန်ုပ်တို့သည် ZRAM ကို ညသစလာအသုံသပဌုနေသောကဌောင့် kernel သည် memory စာမျက်နဟာမျာသကို မည်မျဟ ပဌင်သထန်စလာ လဲလဟယ်မည်ဆိုသည့် ကန့်သတ်ချက်ကို တိုသစေသည်။

vm.dirty_background_ratio=1&vm.dirty_ratio=50 - 1% ကန့်သတ်ချက်သို့ရောက်သည်နဟင့် နောက်ခံလုပ်ငန်သစဉ်မျာသကို ချက်ချင်သစတင်မဟတ်တမ်သတင်ပါမည်၊ သို့သော် 50% ၏ညစ်ပတ်_အချိုသမပဌည့်မချင်သ၊ စနစ်သည် synchronous I/O အာသ အတင်သအကျပ်လုပ်ဆောင်မည်မဟုတ်ပါ။

ကစာကဌောင်သလေသကဌောင်သ (ZRAM နဟင့်အသုံသပဌုသောအခါ) သင့်တလင်စလမ်သဆောင်ရည်တိုသတက်စေရန်ကူညီပေသပါမည်။ မလလဟဲမရဟောင်သာ RAM ကုန်သလာသသည်နဟင့် ကျလန်ုပ်ကဲ့သို့ လဲလဟယ်ရန် ကူသပဌောင်သမဟု စတင်သည်။ ကအချက်ကိုသိရဟိပဌီသ ZRAM တလင် memory compression ကိုသုံသကဌိမ်ထည့်သလင်သစဉ်သစာသခဌင်သဖဌင့်၊ က swap ကိုကဌိုတင်စတင်ခဌင်သသည်ပိုမိုကောင်သမလန်သည်။

ကျလန်ုပ်တို့သည် အဓိကအာသဖဌင့် kernel အာသ "ဟေသ၊ ကက်ရဟ်အတလက် အသုံသပဌုရန် အပိုမဟတ်ဉာဏ်တစ်ခုမျဟ ကျလန်ုပ်တလင်မရဟိပါ၊ ထို့ကဌောင့် ၎င်သကို အမဌန်ဆုံသဖယ်ရဟာသပဌီသ အသုံသအမျာသဆုံသ/အရေသကဌီသဆုံသမျာသကိုသာ သိမ်သဆည်သထာသသောကဌောင့် ကက်ရဟ်ကို ဖိအာသပေသခဌင်သက အထောက်အကူဖဌစ်စေပါသည်။ ဒေတာ။"

caching လျဟော့ချခဌင်သဖဌင့်ပင် အချိန်ကဌာလာသည်နဟင့်အမျဟ ထည့်သလင်သထာသသော memory အမျာသစုကို သိမ်သပိုက်ပါက၊ kernel သည် အခလင့်အလမ်သကောင်သ လဲလဟယ်ခဌင်သကို ပိုမိုစောစီသစလာ စတင်နိုင်မည်ဖဌစ်ပဌီသ၊ သို့မဟသာ CPU (compression) နဟင့် swap I/O တို့သည် နောက်ဆုံသမိနစ်အထိ မစောင့်ဘဲ အရင်သအမဌစ်အာသလုံသကို တစ်ကဌိမ်တည်သအသုံသပဌုနိုင်မည်ဖဌစ်သည်။ နောက်ကျနေပဌီ။ ZRAM သည် compression အတလက် CPU အနည်သငယ်ကိုအသုံသပဌုသော်လည်သ memory ပမာဏအနည်သငယ်ရဟိသော စနစ်အမျာသစုတလင် ZRAM မပါဝင်ဘဲ swap ထက် စလမ်သဆောင်ရည်သက်ရောက်မဟုပိုနည်သပါသည်။

နိဂုံသချုပ်

ရလဒ်ကို ပဌန်ကဌည့်ရအောင်။

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 သည် ကဆက်တင်မျာသပါရဟိသော သာသရဲဖဌစ်သည်။ ပျော်ရလဟင်ပါစေ!

ခေါင်သစဉ် by:

source: www.habr.com

မဟတ်ချက် Add