Raspberry Pi ڪارڪردگي: ZRAM شامل ڪرڻ ۽ ڪرنل پيٽرولر تبديل ڪرڻ

ڪجھ هفتا اڳ مون پوسٽ ڪيو Pinebook پرو جائزو. جيئن ته Raspberry Pi 4 پڻ ARM تي ٻڌل آهي، پوئين مضمون ۾ ذڪر ڪيل ڪجهه اصلاحون ان لاءِ ڪافي موزون آهن. مان انهن چالن کي حصيداري ڪرڻ چاهيان ٿو ۽ ڏسو ته ڇا توهان ساڳيو ڪارڪردگي بهتر ڪرڻ جو تجربو ڪيو.

Raspberry Pi انسٽال ڪرڻ کان پوء توهان جي گھر جي سرور روم مون محسوس ڪيو ته رام جي گھٽتائي جي لمحن ۾ اهو تمام غير جوابدار بڻجي ويو ۽ منجهيل پڻ. هن مسئلي کي حل ڪرڻ لاء، مون ZRAM شامل ڪيو ۽ ڪنيل پيٽرولن ۾ ڪجھ تبديليون ڪيون.

Raspberry Pi تي ZRAM کي چالو ڪرڻ

Raspberry Pi ڪارڪردگي: ZRAM شامل ڪرڻ ۽ ڪرنل پيٽرولر تبديل ڪرڻ

ZRAM رام ۾ بلاڪ اسٽوريج ٺاهي ٿو /dev/zram0 (يا 1، 2، 3، وغيره). اُتي لکيل صفحا دٻجي ويندا آهن ۽ ميموري ۾ محفوظ هوندا آهن. هي تمام تيز I/O جي اجازت ڏئي ٿو ۽ ڪمپريشن ذريعي ميموري کي به آزاد ڪري ٿو.

Raspberry Pi 4 1، 2، 4، يا 8 GB جي رام سان گڏ اچي ٿو. مان 1GB ماڊل استعمال ڪندس، تنھنڪري مھرباني ڪري پنھنجي ماڊل جي بنياد تي هدايتون ترتيب ڏيو. 1 GB ZRAM سان، ڊفالٽ سويپ فائل (سست!) گھٽ استعمال ٿيندي. مون هي اسڪرپٽ استعمال ڪيو zram-swap انسٽاليشن ۽ خودڪار ٺاھ جوڙ لاء.

ھدايتون مٿي ڏنل مخزن ۾ ڏنل آھن. تنصيب:

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

جيڪڏهن توهان ترتيب ڏيڻ چاهيو ٿا:

vi /etc/default/zram-swap

ان کان علاوه، توھان چالو ڪري سگھو ٿا ZRAM انسٽال ڪندي zram-tools. جيڪڏھن توھان ھي طريقو استعمال ڪريو ٿا، config کي تبديل ڪرڻ جي پڪ ڪريو فائل ۾ /etc/default/zramswap، ۽ انسٽال ڪريو اٽڪل 1 GB 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 جي بهتر استعمال لاءِ ڪنيل پيٽرولر شامل ڪرڻ

ھاڻي اچو ته سسٽم جي رويي کي درست ڪريون جڏھن راسبي پيئي آخري وقت تي ادل بدلي ٿو، جيڪو اڪثر ڪري منجمد ٿي ويندو آھي. اچو ته فائل ۾ چند لائينون شامل ڪريو /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.swappiness = 100 پيراميٽر کي وڌائي ٿو ڪيترو جارحتي سان ڪنيل ميموري صفحن کي تبديل ڪندو، ڇو ته اسان پهرين ZRAM استعمال ڪري رهيا آهيون.

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - پس منظر وارا عمل 1٪ جي حد تائين پهچڻ تي فوري طور تي رڪارڊنگ شروع ڪندا، پر سسٽم هم وقت سازي I/O کي مجبور نه ڪندو جيستائين اهو 50٪ جي dirty_ratio تائين نه پهچي.

اهي چار لائينون (جڏهن ZRAM سان استعمال ٿيل آهن) ڪارڪردگي بهتر ڪرڻ ۾ مدد ڏين ٿيون جيڪڏهن توهان وٽ آهي لازمي طور تي رام ختم ٿئي ٿو ۽ ادل بدلڻ شروع ٿئي ٿو، منهنجي وانگر. هن حقيقت کي ڄاڻڻ، ۽ پڻ ZRAM ۾ ميموري ڪمپريشن کي ٽي ڀيرا حساب ۾ رکڻ لاء، اهو بهتر آهي ته هي سوپ اڳ ۾ شروع ڪيو وڃي.

ڪيش تي دٻاءُ وجهڻ ۾ مدد ملندي آهي ڇاڪاڻ ته اسان بنيادي طور تي ڪنيل کي چئي رهيا آهيون، ”اي، ڏس، مون وٽ ڪيش لاءِ استعمال ڪرڻ لاءِ ڪا به اضافي ميموري نه آهي، تنهن ڪري مهرباني ڪري ان مان نجات حاصل ڪريو ASAP ۽ صرف ذخيرو ڪريو اڪثر استعمال ٿيل/اهم. ڊيٽا."

جيتوڻيڪ گھٽ ڪيشنگ سان، جيڪڏهن وقت سان گڏ اڪثر نصب ٿيل ميموري تي قبضو ڪيو ويندو آهي، ته ڪننل گهڻو اڳ موقعي تي تبديل ٿيڻ شروع ڪري ڇڏيندو، انهي ڪري ته CPU (compression) ۽ swap I/O آخري منٽ تائين انتظار نه ڪندا ۽ هڪ ئي وقت ۾ سڀئي وسيلا استعمال ڪندا. تمام دير ٿي چڪي آهي. ZRAM ڪمپريشن لاءِ ٿورڙو سي پي يو استعمال ڪري ٿو، پر اڪثر نظامن تي ميموري جي ننڍي مقدار سان ان ۾ ڪارڪردگيءَ جو اثر تمام گھٽ هوندو آهي 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

تبصرو شامل ڪريو