لینکس پر فی عمل میموری کے استعمال کو کیسے چیک کریں۔

How Check Memory Usage Per Process Linux



ان دنوں ، ایک کمپیوٹر ایک ساتھ کئی پروگرام چلا سکتا ہے۔ سی پی یو کو ان تمام پروگراموں کو سنبھالنے میں کوئی پریشانی نہیں ہے کیونکہ سی پی یو کے پاس ملٹی ٹاسکنگ کو سنبھالنے کے لیے ایک سے زیادہ کور ہیں۔

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







لہذا ، ایک بنیادی کام جو آپ اپنے کمپیوٹر پر کرتے ہیں وہ یہ ہے کہ چیک کریں کہ ہر عمل کتنی میموری یا ریم (رینڈم ایکسیس میموری) استعمال کر رہا ہے۔ کیونکہ ، آپ کے کمپیوٹر کی رام یا میموری محدود ہے۔



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



اس آرٹیکل میں ، میں آپ کو دکھاتا ہوں کہ آپ اپنی لینکس مشین پر چلنے والے ہر عمل کے میموری استعمال کو کیسے چیک کریں۔ میں اس مضمون کے تمام مظاہروں کے لیے ڈیبین 9 اسٹریچ استعمال کروں گا۔ لیکن اسے کسی بھی جدید لینکس ڈسٹری بیوشن پر کام کرنا چاہیے۔ آو شروع کریں.





آپ استعمال کر سکتے ہیں پی ایس لینکس پر تمام عمل کی میموری کے استعمال کو چیک کرنے کا حکم۔ اس طریقہ کار میں ایک مسئلہ ہے۔ پی ایس KB یا MB فارمیٹ میں ایک پروسیس کتنی میموری استعمال کرتا ہے یہ واقعی آپ کو نہیں دکھاتا ، لیکن یہ آپ کو دکھائے گا کہ فی صد میں کتنی میموری استعمال ہو رہی ہے۔

آپ اپنے لینکس آپریٹنگ سسٹم پر چلنے والے تمام عمل کی میموری کے استعمال (فیصد میں) کو درج ذیل کمانڈ سے چیک کر سکتے ہیں۔



$پی ایس یاپی آئی ڈی ، صارف ،٪میم ،کمانڈکلہاڑی| ترتیب دیں -ک 3۔

جیسا کہ آپ دیکھ سکتے ہیں ، فی صد میں میموری کے استعمال کے تمام عمل نزولی ترتیب میں درج ہیں (زیادہ تر میموری استعمال کرنے والے عمل پہلے درج ہیں)۔

pmap کے ساتھ پروسیسز کے میموری استعمال کی جانچ پڑتال:

آپ کسی عمل کی یادداشت یا عمل کے سیٹ کو انسانی پڑھنے کے قابل فارمیٹ (KB یا کلو بائٹس میں) کے ساتھ چیک کر سکتے ہیں پی ایم اے پی کمانڈ. آپ کو صرف ان عملوں کی PID کی ضرورت ہے جن کی آپ میموری کے استعمال کو چیک کرنا چاہتے ہیں۔

آئیے کہتے ہیں ، آپ جانچنا چاہتے ہیں کہ پی آئی ڈی 917 کے ساتھ عمل کتنی میموری استعمال کر رہا ہے۔ ایسا کرنے کے لیے ، چلائیں۔ پی ایم اے پی حسب ذیل:

$سودوپی ایم اے پی917۔

جیسا کہ آپ دیکھ سکتے ہیں ، عمل 917 کے ذریعے استعمال ہونے والی کل میموری 516104 KB یا کلو بائٹس ہے۔ آپ یہ بھی دیکھ سکتے ہیں کہ PID 917 کے ساتھ عمل کو چلانے کے لیے کتنی لائبریریاں اور دیگر فائلیں درکار ہیں یہاں بھی استعمال ہو رہی ہیں۔

اگر آپ کو اس بات کی پرواہ نہیں ہے کہ کتنی میموری کتب خانے یا دیگر منحصر فائلیں استعمال کر رہے ہیں تو چلائیں۔ پی ایم اے پی حسب ذیل:

$سودوپی ایم اے پی917۔ | دم

جیسا کہ آپ دیکھ سکتے ہیں ، پی آئی ڈی 917 کے ساتھ عمل کے ذریعے استعمال ہونے والی صرف کل میموری اسکرین پر چھاپی جاتی ہے۔

اگر آپ چاہیں تو آپ اسے مزید فلٹر کر سکتے ہیں۔ عجیب اور صرف KB یا کلو بائٹس میں سائز حاصل کریں۔ ایسا کرنے کے لیے ، چلائیں۔ پی ایم اے پی حسب ذیل:

$سودوپی ایم اے پی917۔ | دم | عجیب ' / [0-9] K / {پرنٹ $ 2}'

جیسا کہ آپ دیکھ سکتے ہیں ، KB یا کلو بائٹس میں صرف میموری کا استعمال چھپا ہوا ہے۔

اب آپ یہ بھی فہرست بنا سکتے ہیں کہ ایک سے زیادہ پروسیس ان کے PIDs کے ساتھ کتنی میموری استعمال کرتے ہیں۔ پی ایم اے پی حسب ذیل:

$سودوپی ایم اے پی917۔ 531۔ | گرفتکل

نوٹ: یہاں 917 اور 531 پروسیس IDs یا PIDs ہیں۔ آپ اس طرح جتنے پی آئی ڈی چاہیں ڈال سکتے ہیں۔

کلو بائٹس میں تمام عمل کے میموری استعمال کی فہرست کے لیے پی ایم اے پی کا استعمال:

اس سیکشن میں ، میں آپ کو دکھائے گا کہ آپ اپنے لینکس آپریٹنگ سسٹم پر چلنے والے تمام عملوں کی یادداشت کے استعمال کو انسانی پڑھنے کے قابل فارمیٹ (کلو بائٹس یا KB) میں کیسے لکھیں۔

پہلے ایک نئی فائل بنائیں۔ سمسم اپنی موجودہ ورکنگ ڈائرکٹری میں درج ذیل کمانڈ کے ساتھ:

$چھوناسمسم

اب درج ذیل کمانڈ سے فائل کو قابل عمل بنائیں:

$chmod+ایکس سمسون۔

سمسم شیل اسکرپٹ ہے جو تمام چلنے والے عمل کو ظاہر کرے گا۔ پی آئی ڈی ، مالک ، یاداشت (KB میں نزولی ترتیب میں) اور کمانڈ . شروع کرتے ہیں.

کھولو سمسم آپ کے پسندیدہ ٹیکسٹ ایڈیٹر کے ساتھ اسکرپٹ ، میں استعمال کرنے جا رہا ہوں۔ کیٹ .

اب ، میں جو پہلا کمانڈ چلانے جا رہا ہوں وہ مجھے دے گا۔ پی آئی ڈی ، مالک اور کمانڈ تمام چلنے والے عملوں میں سے بڑی آنت (:) کی علامت سے الگ کر کے اسے اسٹور کریں راون۔ متغیر پھر آؤٹ پٹ کے ذریعے لوپ کریں اور اسے اسکرین پر پرنٹ کریں۔

جیسا کہ آپ دیکھ سکتے ہیں ، میں صحیح پیداوار حاصل کر رہا ہوں۔

اب وقت آگیا ہے کہ ہر لائن پر کارروائی کی جائے ، بڑی آنت کی حد بندی کی معلومات کو الگ الگ متغیرات میں محفوظ کریں۔ میں نے لائن 7 ، 8 اور 9 پر یہی کیا۔

جیسا کہ آپ دیکھ سکتے ہیں ، میں پرنٹ کرسکتا ہوں۔ پی آئی ڈی ، مالک اور کمانڈ اب اپنے فارمیٹ میں

اب وقت آگیا ہے کہ ہر پی آئی ڈی کا میموری استعمال کریں۔ لائن 10 ایسا ہی کرتی ہے۔

جیسا کہ آپ دیکھ سکتے ہیں ، ہر چیز بالکل کام کر رہی ہے۔ اب میں ہر عمل کے میموری استعمال کو کلو بائٹس (KB) میں بھی پرنٹ کر سکتا ہوں۔

اب جو کچھ کرنا باقی ہے وہ آؤٹ پٹ کو اچھی شکل دینے کے لیے ہے۔ میں ٹیبل فارمیٹ کو ترجیح دیتا ہوں۔ لائن 5 میز کے ہر کالم کا ہیڈر پرنٹ کرتی ہے۔

آخر میں ، میں نے چھاپا۔ پی آئی ڈی ، مالک ، یاداشت (KB میں) اور کمانڈ ہر عمل کا ایک ٹیبلر فارمیٹ میں لائن 14 کا استعمال کرتے ہوئے۔

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

اسے ٹھیک کرنے کے لیے ، میں نے ہٹا دیا۔ ترتیب دیں -bnr -k3 لائن 3 سے اور ہر چیز کو شیل فنکشن میں لپیٹ دیا۔ sysmon_main () . پھر چھانٹنے کا کام چھوڑ دیا۔ ترتیب دیں کمانڈ.

فائنل شیل اسکرپٹ کچھ اس طرح دکھائی دیتا ہے:

جیسا کہ آپ دیکھ سکتے ہیں ، یہ بہت اچھا کام کرتا ہے۔

اب آپ اسے جیسے کہیں منتقل کر سکتے ہیں۔ /usr/bin اور اسے دوسرے احکامات کی طرح اس پر عمل کریں:

$سودو mv -vسمسم/usr/ہوں

عملدرآمد سمسم :

اس مضمون کو پڑھنے کے لیے شکریہ۔