Raspberry Pi کارکردگی: ZRAM کو شامل کرنا اور دانا کے پیرامیٹرز کو تبدیل کرنا

چند ہفتے پہلے میں نے پوسٹ کیا تھا۔ پائن بک پرو کا جائزہ. چونکہ Raspberry Pi 4 بھی ARM پر مبنی ہے، اس لیے پچھلے مضمون میں بیان کردہ کچھ اصلاحیں اس کے لیے کافی موزوں ہیں۔ میں ان چالوں کا اشتراک کرنا چاہوں گا اور دیکھنا چاہوں گا کہ کیا آپ کو کارکردگی میں اسی طرح کی بہتری کا سامنا ہے۔

آپ میں Raspberry Pi انسٹال کرنے کے بعد ہوم سرور روم میں نے دیکھا کہ RAM کی کمی کے لمحات میں یہ بہت غیر جوابدہ ہو گیا اور یہاں تک کہ جم گیا۔ اس مسئلے کو حل کرنے کے لیے، میں نے ZRAM کو شامل کیا اور کرنل پیرامیٹرز میں کچھ تبدیلیاں کیں۔

Raspberry Pi پر ZRAM کو چالو کرنا

Raspberry Pi کارکردگی: ZRAM کو شامل کرنا اور دانا کے پیرامیٹرز کو تبدیل کرنا

ZRAM رام میں ایک بلاک اسٹوریج بناتا ہے جس کا نام /dev/zram0 (یا 1، 2، 3، وغیرہ) ہے۔ وہاں لکھے گئے صفحات کو کمپریس کرکے میموری میں محفوظ کیا جاتا ہے۔ یہ بہت تیز I/O کی اجازت دیتا ہے اور کمپریشن کے ذریعے میموری کو بھی آزاد کرتا ہے۔

Raspberry Pi 4 1, 2, 4, یا 8 GB RAM کے ساتھ آتا ہے۔ میں 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. اگر آپ یہ طریقہ استعمال کرتے ہیں تو، کنفگ میں ترمیم کرنا یقینی بنائیں فائل میں /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 کے بہتر استعمال کے لیے کرنل پیرامیٹرز کو شامل کرنا

اب آئیے سسٹم کے رویے کو ٹھیک کرتے ہیں جب 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.swappiness = 100 پیرامیٹر کو بڑھاتا ہے کہ کرنل کتنی جارحانہ طریقے سے میموری کے صفحات کو تبدیل کرے گا، کیونکہ ہم پہلے ZRAM استعمال کر رہے ہیں۔

vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - پس منظر کے عمل 1% کی حد تک پہنچنے پر فوری طور پر ریکارڈنگ شروع کر دیں گے، لیکن سسٹم اس وقت تک مطابقت پذیر I/O کو مجبور نہیں کرے گا جب تک کہ یہ 50% کے dirty_ratio تک نہ پہنچ جائے۔

اگر آپ کے پاس ہے تو یہ چار لائنیں (جب ZRAM کے ساتھ استعمال ہوتی ہیں) کارکردگی کو بہتر بنانے میں مدد کریں گی۔ لامحالہ RAM ختم ہو جاتی ہے اور میری طرح تبادلہ میں منتقلی شروع ہو جاتی ہے۔ اس حقیقت کو جانتے ہوئے، اور ZRAM میں میموری کمپریشن کو بھی تین گنا مدنظر رکھتے ہوئے، بہتر ہے کہ یہ تبادلہ پہلے سے شروع کر دیا جائے۔

کیشے پر دباؤ ڈالنے میں مدد ملتی ہے کیونکہ ہم بنیادی طور پر کرنل کو کہہ رہے ہیں، "ارے، دیکھو، میرے پاس کیشے کے لیے استعمال کرنے کے لیے کوئی اضافی میموری نہیں ہے، لہذا براہ کرم اسے ASAP سے چھٹکارا حاصل کریں اور صرف اکثر استعمال ہونے والے/اہم کو اسٹور کریں۔ ڈیٹا۔"

یہاں تک کہ کم کیشنگ کے ساتھ، اگر وقت کے ساتھ ساتھ زیادہ تر انسٹال شدہ میموری پر قبضہ کر لیا جاتا ہے، تو کرنل بہت پہلے موقع پرست تبادلہ شروع کر دے گا، تاکہ 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

DDoS تحفظ، VPS VDS سرورز والی سائٹوں کے لیے قابل اعتماد ہوسٹنگ خریدیں۔ DDoS تحفظ، VPS VDS سرورز کے ساتھ قابل اعتماد ویب سائٹ ہوسٹنگ خریدیں۔ ProHoster