اوبنٹو میں میموری لیک کا پتہ لگانے کا طریقہ



مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں

اوبنٹو پر میموری رساو ہونے کی متعدد وجوہات ہیں ، لیکن خوش قسمتی سے ، یہ ظاہر ہوتا ہے کہ یہ کب واقع ہوتے ہیں۔ چھوٹی چھوٹی کوڈ اکثر سب سے بڑی وجہ ہوتی ہے ، کیوں کہ ہوسکتا ہے کہ پروگرامروں کو یہ چیک کرنے کا موقع نہ ملا ہو کہ اس بات کو یقینی بنائے کہ جس میموری کی اب ضرورت نہیں ہے وہ جاری ہوجائے۔ اگر آپ ماخذ سے غیر مستحکم پیکیجز یا مرتب کوڈ کو انسٹال کررہے ہیں ، تو آپ شاید اس وجہ سے میموری لیکس سے نمٹ رہے ہوں گے۔ آپ شاید انھیں دیکھنا شروع کردیں گے کیونکہ جب آپ کے پاس کافی جسمانی ریم انسٹال ہوجاتی ہے تو سافٹ ویئر ایپلی کیشن پیکیجز میموری سے باہر ہونے کی شکایت کرنا شروع کردیتے ہیں۔



اگر آپ کو میموری لیک ہونے کا خدشہ ہے تو ، ٹرمینل میں بار بار مفت ٹائپ کرنے کی کوشش کریں۔ اگر آپ اچانک ریم کے استعمال کو تیزی سے بڑھتے ہوئے دیکھنا شروع کردیں تو آپ کو پہلے ہی میموری لیک کا پتہ چل گیا ہے۔ کیا آپ کو ایسی غلطی موصول ہوتی ہے جس میں باز جیسے کچھ پڑھا جاتا ہے: ایسا کرتے وقت آپ کے پاس کافی میموری نہیں ہے اور آپ کے پاس ٹرمینل کے علاوہ کچھ نہیں ہے یا یہاں تک کہ صرف ایک ورچوئل کنسول بھی کھلا ہے ، تو آپ بلا شبہ کسی کے ساتھ معاملہ کر رہے ہیں۔ کچھ میموری لیک تھوڑا سا لطیف ہوسکتے ہیں ، لیکن اوبنٹو اور یہ مختلف اسپن آفس کی خاصیت والے ٹولز اور پیکجز ہیں جو آپ کو ان کا پتہ لگانے میں مدد کرسکتے ہیں۔



اوبنٹو میں میموری لیک کا پتہ لگانا

چونکہ میموری لیک کا پتہ لگانے کے لئے استعمال ہونے والے اوزار بنیادی طور پر CLI پرامپٹ کے ارد گرد ہیں ، لہذا اس سے کوئی فرق نہیں پڑتا ہے کہ آپ اوبنٹو کے کس ورژن پر ان کو چلاتے ہیں۔ یہ باقاعدگی سے اوبنٹو میں یونٹی ٹرمینل کے اندر ، اوبنٹو سرور کے ورچوئل کنسول سے ، لبنٹو میں ایک lxterm سے ، Kubuntu میں ایک کونسول یا Xubceu میں Xfce کے اندر بھی کام کرنا چاہئے۔ کوئی آسان کام انجام دینے کی کوشش کریں جیسے سوڈو-ایس اور شروع کرنے کے لئے اپنا پاس ورڈ ٹائپ کریں۔



اگر آپ کو صحیح طریقے سے کارکردگی کا مظاہرہ کیا گیا ہے تو اس سے آپ کو جڑ کا خول ملنا چاہئے ، لیکن اگر آپ کسی رساو کے ساتھ کام کر رہے ہیں جو پہلے ہی بہت دور جاچکا ہے تو اس سے میموری خرابی ہوسکتی ہے۔ اگر آپ واقعی کسی جڑ کے خول تک رسائی حاصل کرنے کے قابل ہیں تو ، پھر گونج 3> / خرید / سیس / ایم / ڈراپ_کیچز ٹائپ کریں ، اینٹ کی کو دبائیں اور پھر ایگزٹ ٹائپ کریں۔ دوبارہ آزادانہ طور پر چلانے کی کوشش کریں یا یہ دیکھنے کے لئے کہ اس سے میموری کو جاری کرنے میں مدد ملتی ہے۔

کچھ پروگرامروں کا کہنا ہے کہ اس کیرل کو اس کیچز چھوڑنے پر مجبور کرنے کا کوئی فائدہ نہیں ہے ، کیونکہ ان کو نچھاور کردیا جانا چاہئے اور اسی طرح جب اضافی جسمانی میموری کی ضرورت ہوتی ہے تو اس کا دوبارہ دعوی کیا جانا چاہئے۔ تاہم ، جب کہ ان کیشوں کو زبردستی فلش کرنے سے نظام کی کارکردگی کو نقصان پہنچے گا اس بات کو ذہن میں رکھیں کہ یہ محض ایک آزمائش ہے۔ ایک بار جب آپ سسٹم کو دوبارہ شروع کردیں تو ، لینکس کرنل کو ایک بار پھر میموری کیچز کو اسی طرح جمع کرنا چاہئے جس طرح وہ پہلے مقام پر تھے۔

کچھ لوگوں نے لائن مطابقت پذیری کو شامل کرنے کا مشورہ دیا ہے۔ sudo گونج 3> / proc / sys / vm / drop_cચ اسکرپٹ پر جاتا ہے جو کرون مستقل طور پر چلتا ہے ، لیکن اس سے پہلی جگہ میموری کیچنگ کے مقصد کو شکست ملتی ہے۔ مفت میموری خود محض غیر استعمال شدہ رام ہے ، اور اس کا مطلب یہ ہے کہ ڈیٹا کو زیادہ سست سے لوڈ کرنا پڑتا ہےالیکٹرو مکینیکل یا NAND اسٹوریج ڈیوائسز۔ اس سے کوئی فرق نہیں پڑتا ہے کہ یہ ڈیوائسز کتنی تیز ہیں ، وہ اتنی تیز رفتار نہیں ہے جیسے رام ہے ، اس کا مطلب یہ ہے کہ جب آپ کو میموری لیک کو ٹھیک کرنا چاہئے ، ایک بار جب آپ بہتر ترتیب پر مرتب ہوجائیں تو آپ کو اصل میں کیشے کے ساتھ چھیڑ چھاڑ نہیں کرنا چاہئے۔



اگر آپ نے یہ فیصلہ کرلیا ہے کہ واقعی آپ کے پاس مستقل میموری موجود ہے جو آپ کی مشین کا استعمال کرتے ہوئے وقتا فوقتا ہوتا ہے اور اسے خاص طور پر تنگ نہیں کیا جاسکتا ہے ، لیکن آپ کے پاس ابھی تک سی ایل آئی تک رسائی موجود ہے ، تو پھر ٹاپ کمانڈ چلانے کی کوشش کریں۔ اس سے آپ کو چلنے والے عمل کی ایک فہرست ملنی چاہئے۔

اگر اوبنٹو آپ کو سب سے اوپر کے بارے میں کوئی غیر معمولی غلطی دے تو پھر اس پروگرام کے ایک بھی آسان ورژن تک رسائی حاصل کرنے کے ل busy اس کے بجائے مصروف باکس ٹاپ جاری کرنے کی کوشش کریں۔ ایک بار جب آپ کے پاس فہرست موجود ہے تو ،٪ MEM یا اسی طرح کے کالم کو دیکھنے کے ل look دیکھیں کہ کون سے ایپلیکیشنز کو سب سے زیادہ میموری دی جاتی ہے۔ اگرچہ آپ پی آئی ڈی کو نوٹ کرسکتے ہیں اور پی آئی ڈی کی عین مطابق تعداد پر قتل کا کمانڈ جاری کرسکتے ہیں ، لیکن اس سے محض درخواست بند ہوجائے گی۔ ممکن ہے کہ وہ جو میموری استعمال کرتے ہیں وہ آپ کے ایسا کرنے کے بعد بھی جاری نہیں کیا جاسکتا ہے ، حالانکہ یہ یقینا a شاٹ کے قابل ہے۔

اگر آپ کو ایک ایسی ایپلی کیشن ملتی ہے جو بڑی مقدار میں میموری استعمال کررہی ہے تو ، q کو دبانے کیلئے دبائیں اور پھر پچھلی اسکرین کے PID نمبر کے ساتھ #### قتل کرنے کی کوشش کریں۔ سسٹم کے عمل کو اس طرح نہیں مارا جانا چاہئے ، اور نہ ہی ایسی کوئی چیز جس میں آپ کو غیر محفوظ شدہ کام ہے۔ اسے اسی طرح کے بارے میں Ctrl + Alt + Del ٹاسک لسٹ سے کسی چیز کو مارنے کے بارے میں سوچیں ، جسے آپ اسی عمل کے لئے بھی استعمال کرسکتے ہیں۔

جب آپ کو کوئی ایسا پروگرام مل گیا جس کے ساتھ مستقل طور پر یہ واقع ہورہا ہے ، تو آپ مستقبل میں ہونے والے سلوک کو روکنے کے لئے اسے تشکیل دے سکتے ہیں۔ ہر فرد کو ، یقینا course ، ایک مختلف سہولت درکار ہوگی ، جو صرف میموری کی کھوج کا پتہ لگانے کے کام سے باہر ہے۔

کیا آپ کو محض پریشانیوں سے نمٹنے والی ایپلی کیشنز نہیں ہونا چاہئے ، بلکہ اصل میں کوڈ کے ساتھ بھی کام کرنا ہے اس کے بعد آپ کے پاس کچھ اور ہی ریسورسز ہیں۔ اوبنٹو اور اس کے مشتق آپ کو پروگرامنگ کے ل the میمبرریئر ، یادگاری اور یادداشت کی سی معمولات پیش کرتے ہیں۔

لینکس پروگرامر کے دستی صفحات کو ان اہم معمولات پر دیکھنے کے لئے صرف مین میمبرریئر ، مین میموسیج یا مین میموسجسٹاٹ استعمال کریں۔ اگر لائبریریوں کے مستقبل کے ورژن میں اپ گریڈ ہوں گے جیسے اوبنٹو کے نئے ورژن سامنے آئیں گے ، تو پھر ہمیشہ تبدیلیاں یہاں بیان کی جائیں گی۔

اگر آپ کو گرافیکل مواد کی ضرورت ہو تو ، پھر میموسٹی ​​اسٹٹ یہاں تک کہ PNG فائل میں میموری کے استعمال کی تصویری نمائندگی کو بچانے کا آپشن فراہم کرتا ہے۔ اس سے افادیت کے مصنفین کے لئے بھی یہ ایک پرکشش خصوصیت بن جاتی ہے ، کیوں کہ اسے ایسی ایپلی کیشنز بنانے کے لئے استعمال کیا جاسکتا ہے جو میموری کی رساو کو باقاعدگی سے چیک کرتے ہیں۔

آپ میمپروف بھی انسٹال کرنا چاہیں گے ، جو میموری کے استعمال کو پروفائل کرنے کا ایک ذریعہ ہے تاکہ میموری کی رساو کو تلاش کرنے میں آپ کی مدد کی جاسکے۔ یہ آپ کے لکھنے والے پروگرام میں ہر فنکشن میں کتنی میموری کے بارے میں ایک پروفائل تیار کرتا ہے۔ یہ بلاکس کو تلاش کرنے کے لئے موجودہ میموری کو بھی اسکین کرسکتا ہے ، جو مختص کردیئے گئے ہیں ، لیکن اب حقیقی حوالوں کی خصوصیت نہیں ہوگی۔ یہ لائبریری کو پہلے سے لوڈ کرنے کے ذریعہ کرتا ہے تاکہ معیاری سی لائبریری کی میموری الاٹمنٹ کی خصوصیات کو ختم کر دیا جاسکے۔

اگر آپ اس کو استعمال کرنے کا ارادہ رکھتے ہیں تو پھر اس کو جاری کرنے سے پہلے اپنے کوڈ کے آغاز سے ہی شامل میمپروف لائن کو ضرور ختم کردیں۔ یہ اس بات کو یقینی بنانے کے لئے استعمال کیا جاتا ہے کہ آپ کے پاس کوئی رساو نہیں ہے ، لیکن اگر آپ اپنا کوڈ پیک کرتے ہیں اور اسے ذخیروں میں جاری کرتے ہیں تو یہ انحصار نہیں بننا چاہئے۔

4 منٹ پڑھا