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

رام میں ایک بلاک اسٹوریج بناتا ہے جس کا نام /dev/zram0 (یا 1، 2، 3، وغیرہ) ہے۔ وہاں لکھے گئے صفحات کو کمپریس کرکے میموری میں محفوظ کیا جاتا ہے۔ یہ بہت تیز I/O کی اجازت دیتا ہے اور کمپریشن کے ذریعے میموری کو بھی آزاد کرتا ہے۔
Raspberry Pi 4 1, 2, 4, یا 8 GB RAM کے ساتھ آتا ہے۔ میں 1GB ماڈل استعمال کروں گا، لہذا براہ کرم اپنے ماڈل کی بنیاد پر ہدایات کو ایڈجسٹ کریں۔ 1 GB 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 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 --systemvm.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 5ZRAM میں 264448 غیر کمپریسڈ ڈیٹا کا تقریباً ایک گیگا بائٹ ہے۔ سب کچھ ZRAM میں چلا گیا اور کچھ بھی زیادہ سست پیج فائل میں نہیں گیا۔ ان ترتیبات کو خود آزمائیں، یہ تمام Raspberry Pi ماڈلز پر کام کرتی ہیں۔ میرا ناقابل استعمال، منجمد نظام ایک فعال اور مستحکم نظام میں بدل گیا ہے۔
مستقبل قریب میں، میں ZRAM کو انسٹال کرنے سے پہلے اور بعد میں سسٹم کی جانچ کے کچھ نتائج کے ساتھ اس مضمون کو جاری رکھنے اور اپ ڈیٹ کرنے کی امید کرتا ہوں۔ اب میرے پاس اس کے لیے وقت نہیں ہے۔ اس دوران، بلا جھجھک اپنے ٹیسٹ چلائیں اور مجھے تبصرے میں بتائیں۔ Raspberry Pi 4 ان ترتیبات کے ساتھ ایک جانور ہے۔ لطف اٹھائیں!
اس موضوع پر:
- (2017)
- (2020)
ماخذ: www.habr.com
