اذهب إلى المحتوى

4 أدوات مفتوحة المصدر من أجل مراقبة نظام لينكس


سامر سليمان

يُعَد امتلاك المعلومات المناسبة هو الخطوة الأولى لحل أي مشكلة حاسوبية، سواءً كانت هذه المشكلة مرتبطةً بنظام التشغيل لينكس أو بالعتاد الذي يشغّله النظام. توجد العديد من الأدوات المتاحة منها ما يكون مضمّنًا في معظم توزيعات لينكس، ومنها لا يكون مثبّتًا افتراضيًا، ويجب على المستخدم أن يثبتها في حال رغبته باستخدام الأداة. تقدّم هذه الأدوات الكثير من المعلومات المفيدة في تشخيص المشاكل الخاصة بالحاسوب.

تناقش هذه المقالة بعض الأدوات التفاعلية التي تعمل بالأوامر CLI، والتي يمكن تثبيتها بسهولة على توزيعات لينكس ريد هات Red Hat وفيدورا Fedora وسينتوس CentOs وكل التوزيعات المشتقّة منها، حيث تتوفر العديد من الأدوات ذات الواجهات الرسومية التي يمكن استخدامها لنفس الغرض إلا أنها لا تكون قابلةً للاستخدام في جميع الأحيان، نظرًا لعدم امتلاك بعض الخوادم القدرة على العرض رسوميًا.

تقدّم المقالة أربع أدوات أساسية ضمن بيئة نظام لينكس لمراقبة النظام وتشخيص المشاكل فيه وهي top وatop وhtop وglances، حيث تراقب هذه الأدوات نسبة استخدام الذاكرة ووحدة المعالجة المركزية CPU، كما تتيح معظمها معلومات عن العمليات قيد التشغيل، إضافةً إلى العديد من الجوانب الأخرى، وتظهر هذه المعلومات تقريبًا بالزمن الحقيقي لنشاط النظام.

متوسط الحمل

يمثّل متوسط الحمل Load average متوسط عدد التعليمات التي تنتظر أن ينفذها المعالج، فهو مقياس حقيقي لأداء وحدة المعالجة المركزية خلافًا لنسبة استهلاك وحدة المعالجة المركزية، والتي تُعَد مقياسًا غير دقيق كونها تتضمّن زمن انتظار متعلّق بعملية الإدخال والإخراج حيث يكون عندها المعالج خاملًا.

نفترض أنّ النظام يمتلك معالجًا وحيدًا، وبالتالي عندما يكون متوسط الحمل مساويًا للواحد، فهذا يعني أنّ المعالج ينفذ الطلبات الواردة إليه دون تأخير وأن نسبة استخدامه ممتازة؛ أما عندما يصبح متوسط الحمل أقل من واحد، فيعني ذلك أنّ المعالج غير مستخدم حسب المطلوب، وأنّه قادر على تنفيذ المزيد من العمل، وعندما يصبح متوسط الحمل أكبر من واحد، فالمعالج هنا يكون قد أصبح مشغولًا مع وجود بعض التعليمات بحالة انتظار لفترة زمنية قبل أن ينفّذها المعالج.

في نظام أحادي المعالج وعندما يكون متوسط الحمل مساويًا 1.5 فإنّ ثلث التعليمات الواردة تنتظر لفترة زمنية قبل أن يبدأ تنفيذها، أما في حال النظم متعددة المعالجات، فلو فرضنا أنه يوجد نظام متعدد المعالجات يمتلك أربع معالجات، فإن متوسط الحمل المثالي يساوي أربعة. فإذا كان هذا المتوسط مساويًا 3.24 فسيعني ذلك أنّ ثلاثة معالجات منها مستخدمة كليًا وقد بلغت نسبة استخدام المعالج الرابع 76%.

تكون قيمة متوسط الحمل المثالية مساويةً لعدد المعالجات في النظام، ويعني ذلك أنّ جميع المعالجات مستخدَمة بطاقتها القصوى، ولا تضطر أية تعليمة للانتظار حتى تُنفّّذ. تعطي هذه القيمة على المدى الطويل نظرةً عامّةّ للاستخدام العام للموارد في الحاسوب.

الإشارات

تسمح جميع أدوات المراقبة المذكورة سابقًا بإرسال إشارات Signals للعمليات قيد التشغيل، وتكون لكل إشارة وظيفة محددة مرتبطة بها، كما يمكن أن يعرّف البرنامج الذي يستقبل هذه الإشارة، الوظيفة التي تحدث عند استلامه للإشارة.

يسمح الأمر Kill بإرسال الإشارات إلى العمليات أيضًا دون الحاجة لاستخدام برامج المراقبة، ويمكن تنفيذ الأمر kill -l لاستعراض جميع الإشارات التي يمكن استخدامها مع العمليات المختلفة، وتُستخدَم ثلاث من هذه الإشارات من أجل إيقاف العمليات والتي تسمى أحيانًا بقتل العملية kill a process.

  • SIGTERM (15)‎: ترسَل هذه الإشارة افتراضيًا من قِبل الأداة top وبقية أدوات المراقبة عند الضغط على المحرف k، وتُعَد هذه الإشارة هي الأقل فعاليةً، لأنها تشترط امتلاك البرنامج المستقبل لها على جزء برمجي للتعامل مع هذه الإشارة Signal Handler. يجب أن يعترض الجزء البرمجي المذكور الإشارة الواردة إلى العملية والتصرف بطريقة صحيحة، وعند غياب هذا الجزء البرمجي، فستتجاهل العملية الإشارة الواردة إليها؛ أما الغاية من وجود إشارة SIGTERM، فهي إخبار البرنامج أنّ المستخدم يرغب بإنهاء البرنامج لوجوده، مما يجب أن يدفعه لتحرير الموارد التي استخدمها هذا البرنامج وإغلاق الملفات المفتوحة، وذلك دون اتخاذ أية إجراءات قسرية من قِبل المستخدم.
  • SIGKILL (9)‎: تُستخدم هذه الإشارة لقتل أي من العمليات التي يرغب المستخدم بإيقافها، حيث لا تهتم هذه الإشارة لوجود جزء برمجي مخصص ينشط عند استلام الإشارة، إذ تُقتل العملية أولًا، ومن ثم تُقتل جلسة الصدفة shell التي يعمل ضمنها البرنامج. لا تُعد هذه الطريقة لطيفةً عند الحاجة للتخلص من عملية ما ويجب الأخذ بالحسبان أنً قتل العملية قسريًا باستخدام هذه الإشارة يمكن أن يؤثر على العمليات المرتبطة بها.
  • SIGINT (2)‎: تُستخدم هذه الإشارة عند فشل الإشارة SIGTERM في التخلّص من العملية المطلوبة، مع عدم رغبة المستخدم بقتل العملية قسريًا، ولسبب ما لا يرغب المستخدم في إيقاف جلسة الصدفة shell الخاصة بالعملية، وإنما يريد قتل العملية فقط ومقاطعة الجلسة فقط دون إزالتها. تكافئ هذه الإشارة إرسال الأمر CTRL-C للبرنامج أو السكريبت وهو قيد العمل مما يسبب توقفه بصورة دائمة.

يمكن تجربة الأوامر السابقة بإنشاء جلسة موجه أوامر جديدة ومن ثم إنشاء ملف ضمن المجلد"‎"/tmp باسم cpuHog، ثم تحويله لبرنامج تنفيذي وإعطائه الأذونات "rwxrxrx" وكتابة المحتوى التالي ضمن الملف:

#!/bin/bash # This Little program is a cpu hog X=0; while[1]; do echo $X;X=$(X+1);done

نفتح موجه أوامر في نافذة مختلفة ونضع النافذتين متجاورتين لكي نشاهد النتائج، ومن ثم نشغل الأمر top، وبعدها نشغل برنامج cpuHog الذي كتبناه باستخدام الأمر التالي:

/tmp/cpuHog

يعمل البرنامج بطريقة عدّاد، مع طباعة القيمة التي وصل إليها إلى المخرج الذي نختاره، وهو افتراضيًا الشاشة. يستهلك هذا البرنامج دورات المعالجة الخاصة بالمعالج، لذا سنشاهد ارتفاعًا ملحوظًا في نسبة استخدام المعالج ضمن نتائج الأمر top. يزداد متوسط الحمل أيضًا مع مرور الزمن، ويمكن فتح نوافذ جديدة وتشغيل البرنامج فيها وملاحظة التغير الذي يحصل على استهلاك المعالج.

يمكن عند الحاجة لقتل العملية ضمن الأداة top بالضغط على الحرف K، وستظهر رسالة تطلب رقم التعريف الخاص بالعملية PID التي يريد المستخدم قتلها. وبعد إدخال هذا الرقم نضغط على "Enter"، وعندها ستسأل الأداة المستخدِم عن الإشارة التي يرغب بإرسالها، والتي تكون افتراضيًا "15". يمكن في هذه المرحلة تجربة الإشارات المختلفة وملاحظة الاختلافات فيما بينها.

أداة top

تُعَد هذه الأداة من أهم الأدوات المستخدمة عند تشخيص المشاكل، وتتميز بأنها متاحة دومًا وموجودة في جميع توزيعات لينكس افتراضيًا دون الحاجة الى تنصيبها. تقدّم هذه الأداة الكثير من المعلومات حول النظام قيد العمل، فنجد فيها معطيات حول استهلاك الذاكرة وأحمال المعالج، وقائمة بالعمليات قيد التشغيل، وإلى جانب كل عملية نجد نسبة استهلاكها لموارد الحاسوب. تُحدّث هذه المعلومات كل ثلاثة ثواني، أي أننا قد نَعُد الأداة وكأنها تعمل في الزمن الحقيقي. تسمح هذه الأداة باستخدام أجزاء الثواني إذا احتاج المستخدِم لاستعمالها، ولكن من النادر أن تؤثر القيم الضئيلة على الأداء الكلي للحاسوب، كما تتميز الأداة بأنها تفاعلية ويمكن للمستخدم أن يرتّب النتائج الظاهرة حسب اهتمامه.

يظهر الشكل (1) عينةً من نتائج عمل الأداة top، ويقسم هذا الخرج إلى جزأين أساسيين وهما جزء الملخص "Summary" وجزء العملية "Process" بالترتيب. حيث يمكن الاستفادة من الأوامر التفاعلية الخاصة بالأداة من قِبل المستخدِم لتغيير طريقة العرض الخاصة بالأداة لتناسب المستخدِم، إضافةً إلى التحكم بالعمليات كليًا، إذ تعرض الأداة كل الأوامر المتاحة بالضغط على h لاستعراض المساعدة الخاصة بالأداة والتي تكون موزّعةً على صفحتين، بحيث يحدث الانتقال إلى الصفحة الثانية بالضغط على h مرتين، ويمكن الخروج من الصفحة بالضغط على q.

جزء الملخص

يقدم هذا الجزء ملخّصًا عامًا عن النظام، حيث يُظهر السطر الأول منه زمن عمل النظام منذ آخر عملية إقلاع له، ومن ثم متوسط الحمل محسوبًا على مدة زمنية تعادل 1، 5، 15 دقيقة على الترتيب، بينما السطر الثاني يظهر عدد العمليات النّشطة في الحاسوب وحالة كل من هذه العمليات. تظهر في السطر الثالث إحصائيات خاصة بالمعالج، بحيث قد تكون هذه الإحصائيات مقتصِرةً على سطر واحد يتضمن الإحصائيات عن جميع المعالجات الموجودة في الحاسوب، ويمكن أن نجد سطرًا لكل معالج على حدة، كما يمكن تبديل طريقة الإظهار بين المعلومات المجمّعة عن المعالج، والمعلومات عن المعالجات إفراديًا بالضغط على الرقم 1، بحيث ستظهر القيم بشكل نسبة مئوية من وقت المعالج المتاح للتنفيذ.

نجد في النتائج القيم التالية:

  • us:userspace: تشير إلى وقت المعالج المخصص للتطبيقات والبرامج الي تعمل ضمن مجال المستخدم وليس ضمن نواة نظام التشغيل.
  • sy:system calls: تشير إلى وقت المعالج المخصص لاستدعاءات النظام، وهي الوظائف التي تنفَّذ ضمن نواة نظام التشغيل. تجدر الإشارة إلى أنّ هذه النسبة لا تتضمن الزمن الخاص بعمل النواة نفسها.
  • ni:nice: تشير إلى وقت المعالج المخصص للعمليات التي تعمل بمستوى لطافة إيجابي (*)، ويمكن النظر إلى رقم اللطافة الخاص بالعمليات وكأنه أولوية، لكن توجد اختلافات دقيقة بين المصطلحين ليست من موضوع هذه المقالة.
  • id:idle: تشير إلى وقت المعالج الذي يكون فيها خاملًا.
  • wa:wait: تشير إلى الوقت الذي يكون فيه المعالج بحالة انتظار لإتمام عمليات الإدخال والإخراج، وبالطبع يمثل هذا الوقت هدرًا في عمل المعالج.
  • hi:hardware interrupts: تشير إلى الوقت الذي يصرفه المعالج في معالجة المقاطعات العتادية الواردة إليه.
  • si:software interrupts: تشير إلى الوقت الذي يصرفه المعالج في معالجة المقاطعات البرمجية الوارد إليه.
  • st:steal time: تشير إلى الوقت الذي يقضيه المعالج المنطقي حتى ينهي المعالج الفيزيائي تخديم معالج منطقي آخر والانتقال إليه.
اقتباس

(*) مستوى اللطافة هو تعبير عن الأولوية للعمليات الخاصة بالمستخدِم، والتي تربطها علاقة بأولوية العملية الحقيقية، حيث أن قيمة الأولوية = قيمة اللطافة + 20، وتأخذ قيم اللطافة قيمًا موجبةً وقيمًا أخرى سالبة تتراوح بين المجال -20 (الأعلى) و+19 (الأدنى)، الدليل الموجز إلى القيم الأولوية اللطيفة في النظام البيئي لينكس

يعرض السطرين الأخيرين في هذا الجزء استهلاك الذاكرة حيث يظهر كل من استهلاك الذاكرة العشوائية وذاكرة التبادل.

linuxsys_image1-520x395.jpg

الشكل (1): يُظهر الأمر top المعلومات الكاملة عن معالج رباعي النوى مستخدم كليًا.

يمكن الضغط على l لإيقاف عرض متوسط الحمل أو تشغيله، كما يمكن الضغط على t وm من أجل تغيير طرق العرض الخاصة بمعلومات العمليات والذاكرة.

جزء العمليات

يتضمن هذا الجزء المعلومات عن العمليات قيد التشغيل في النظام، حيث تظهر هذه المعلومات على شكل أعمدة، ويتضمن العرض الافتراضي مجموعةً من الأعمدة، كما يمكن إضافة المزيد منهم من قِبل المستخدِم حسب ما يجده مفيدًا له. فيما يلي المعلومات التي تظهر افتراضيًا:

  • PID: يعبر عن رقم التعريف الخاص بالعملية، وهو رقم فريد خاص بالعملية يميزها عن كل العمليات الأخرى.
  • USER: يعبر عن اسم المستخدم الذي يملك العملية.
  • PR: يعبر عن أولوية العملية.
  • NI: يعبر عن رقم اللطافة الخاص بالعملية.
  • VIRT: يعبر عن إجمالي الذاكرة الافتراضية المخصصة للعملية.
  • RES: يعبر عن الذاكرة الفيزيائية غير القابلة للتبادل المخصصة للعملية، وهي مقاسة بالكيلوبت ما لم يذكر خلاف ذلك.
  • SHR: يعبر عن كمية الذاكرة المشتركة المخصصة للعملية.
  • S: يعبر عن حالة العملية، وقد يكون R إذا كانت العملية قيد التشغيل، أو S إذا دخلت العملية في حالة النوم أو Z إذا تحولت العملية إلى عملية ميتة-حية (زومبي). كما توجد بعض الحالات الأقل شيوعًا مثل T للمتوقفة، أو D لحالة النوم غير القابل للمقاطعة.
  • ‎% CPU: يعبر عن وقت المعالج الذي استهلكته العملية خلال فترة القياس.
  • ‎% MEM: يعبر عن نسبة الذاكرة الفيزيائية المستهلكة من قبل العملية.
  • Time +: يعبر عن وقت المعالج الكلي المخصص للعملية منذ بدء عملها لأول مرة.
  • COMMAND: يعبر عن الأمر الذي استُخِدم لتشغيل العملية.

يمكن الضغط على Page Up وPage Down للتنقل بين قائمة العمليات قيد التنفيذ، ويمكن ضبط المدة الزمنية لأخذ القراءات باستخدام d وs، وتكون هذه المدة افتراضيًا ثلاث ثواني، بحيث يمكن تعديلها لتصبح جزءًا من الثانية، لكن ذلك يزيد من استهلاك الأداة لموارد الحاسوب ومن المفضل ضبط هذه القيمة بحيث تعادل ثانيةً واحدةً كي لا تؤثر سلبًا على أداء الحاسب وتعطي معلومات وافرة عن هذا الأداء.

يفيد الضغط على < و > في التنقل بين الأعمدة إلى اليمين أو اليسار، كما يمكن الضغط على k من أجل قتل العملية أو الضغط على r من أجل تعديل مستوى لطافتها، وفي كلتا الحالتين يجب تحديد رقم التعريف الخاص بالعملية، حيث يجب أن نحدد رقم الإشارة عند قتل العملية. عادةً ما تبدأ المحاولات بالإشارة 15 وفي حال عدم نجاحها يمكن استخدام الإشارة 9 لقتل العملية قتلًا مؤكدًا.

الضبط

يمكن للمستخدِم الذي يعدّل معلومات العرض الخاصة بالأداة، استخدام الأمر W (يجب استخدام الحرف الكبير Uppercase)، وذلك لكتابة التغييرات إلى ملف الضبط، والذي يوجد عادةً في المسار"‎"~/.toprc في المساحة المخصصة للمستخدِم.

أداة atop

تتيح هذه الأداة معلومات أكثر تفصيلًا موازنةً بالأداة top. ومن أهم المعلومات الإضافية التي يمكن الحصول عليها باستخدام هذه الأداة، هي نشاط الإدخال والإخراج، حيث تتحدث القيم الظاهرة على الشاشة بعد انقضاء عشرة ثواني، ويمكن تغيير هذه المدة بالضغط على i واستخدام قيمة تناسب حاجة المستخدم. لا تستطيع هذه الأداة استخدام أجزاء الثانية مثل سابقتها، لكن يمكن استخدام الأمر h للحصول على المساعدة، وتوجد عدة صفحات ضمن دليل المساعدة يمكن التنقل بينها بالضغط على المسطرة Space.

تتميز هذه الأداة بقدرتها على تخزين معلومات الأداء الخام ضمن ملف واستعراض محتوياته لاحقًا من أجل الدراسة المعمقة، مما يفيد في كشف بعض المشاكل الخفية وخصيصًا تلك التي تظهر في الوقت الذي لا يكون فيه النظام خاضعًا للمراقبة. يستخدم البرنامج atopsar لاستعراض محتويات الملفات المخزّنة حسب حاجة المستخدم.

linuxsys_image2-520x314.jpg

الشكل (2): يقدم نظام المراقبة atop المعلومات حول نشاط الأقراص والشبكة إضافة إلى نشاط المعالج.

جزء الملخص

تقدّم الأداة atop نفس المعلومات التي تقدّمها الأداة top، إلا أنّها تعرض بعض المعلومات الإضافية مثل المعلومات المتعلقة بنشاط الشبكة والأقراص والحجوم المنطقية ضمن الأقراص. يبين الشكل (2) أعلاه بعضًا من هذه المعلومات، تجدر الإشارة إلى أنّ عدد الأعمدة الذي يظهر هو مرتبط بأبعاد الشاشة، بحيث إذا كانت كافيةً فستعرض الأداة كافة الأعمدة بما تتضمنه من معلومات، وإلا فإنها تهمل بعضًا منها. تتميز هذه الأداة موانةً بجميع أنظمة المراقبة الأخرى بنها تعرض تردد المعالج الحالي، إضافةً إلى تبيان معامل توسيع التردد scaling factor، وتظهر هاتين القيمتين في أقصى اليمين ضمن السطر الثاني.

جزء العملية

تعرض الأداة atop بعضًا من الأعمدة التي تعرضها الأداة top، ولكنها تضيف بعض المعلومات مثل معلومات الإدخال والإخراج الخاصة بالقرص وعدد النياسب (الخيوط threads)، إضافةً إلى إحصائيات عن تغير كل من الذاكرتين الافتراضية والحقيقية لكل عملية. كما هو الحال في جزء الملخص، يمكن إظهار كامل الأعمدة إذا سمحت أبعاد الشاشة بذلك، وإلا فلن تظهر بعض الأعمدة مثل العمود المخصص لعرض رقم التعريف الحقيقي للمستخدم RUID الذي يملك العملية، ورقم التعريف الفعلي للمستخدم EUID، وتكون هاتين المعلومتين هامتين عند تشغيل بعض البرامج مع التلاعب بهوية المستخدم الذي ينفذ أمر التشغيل للبرنامج.

تقدّم الأداة معلومات تفصيلية عن القرص والذاكرة والشبكة والجدولة الخاصة بكل عملية. يمكن الضغط على d وm وn وs بالترتيب لمشاهدة أي من التفاصيل السابقة، كما يمكن الضغط على g لإعادة الإظهار إلى وضعه الطبيعي.

يمكن للمستخدم ترتيب العرض وفقًا لمعيار محدد، حيث يمكن الضغط على C للترتيب اعتمادًا على استهلاك وحدة المعالجة المركزية، أو الضغط على M للترتيب اعتمادًا على استهلاك الذاكرة، أو الضغط على D للترتيب اعتمادًا على استهلاك القرص، أو الضغط على N للترتيب اعتمادًا على استهلاك الشبكة، أو الضغط على A للترتيب التلقائي، ويعني ذلك الترتيب وفقًا للمورد الأكثر إشغالًا من قبل العملية. لن تعمل عمليات الترتيب الخاصة بالشبكة إلا بوجود مكتبة netatop إلى جانب الأداة atop، ويمكن الضغط على k لقتل أي عملية ولا تمتلك هذه الأداة القدرة على تعديل مستوى اللطافة مثل سابقتها.

لا تعرِض هذه الأداة أجهزة الشبكة والتخزين التي لا تكون نشطةً ضمن فترة جلب المعلومات، مما قد يعطي انطباعًا خاطئًا عن ضبط الجهاز المستخدَم، فقد يوهم بعض المستخدمين بأن أحد الأجهزة لا يعمل بطريقة صحيحة، ولتجنب ذلك يمكن الضغط على f لعرض جميع الموارد وحتى الخاملة منها.

الضبط

يشير الدليل الخاص بالأداة atop الموجود ضمن نظام لينكس إلى ملفات الضبط الخاصة بالمستخدم وملفات الضبط العامة، وذلك باستثناء توزيعتي فيدورا وسينتوس. حيث لا توجد أية طريقة لحفظ تعديلات المستخدِم على ملفات الضبط وبالتالي لا تكون هذه التغييرات دائمة.

أداة htop

تشبه هذه الأداة إلى حد كبير الأداة top، ولكنها تعرض بعض المعلومات الإضافية التي لا تقدمها تلك الأداة، حيث لا تقدم هذه الأداة المعلومات عن القرص والشبكة والإدخال والإخراج كما في atop.

linuxsys_image3-520x417.jpg

الشكل (3): تمتلك الأداة htop طريقة إظهار جذابة للمستخدمين، كما أنها تعرض شجرة العملية كاملةً.

جزء الملخص

يتضمن جزء الملخص للأداة htop عمودين أساسيين يتميزان بالمرونة الشديدة وقدرة المستخدم على ضبطهما بالشكل والترتيب الذي يناسبه، حيث يمكن للمستخدم مشاهدة استهلاك المعالج عن طريق الشريط الظاهر أمامه، كما يمكن استخدام شريط واحد لكامل وحدة المعالجة المركزية، إلى جانب إمكانية استعمال شريط لكل معالج موجود، أو تجميع العرض من عدة معالجات معًا ضمن شريط واحد.

يُعَد العرض بهذه الطريقة أكثر سهولةً للمستخدم، إلا أنّه يُغفِل العديد من المعلومات الأساسية التي قد تهمّه، ومنها النسبة المستهلكة من المعالج لكل مستخدم، إضافةً إلى وقت الخمول الخاص بالمعالج وغيرها من المعلومات التي تعرضها الأدوات السابقة.

يمكن تعديل ضبط هذا الجزء بالضغط على F2 حيث تُعرض الخيارات المتاحة ويضيف المستخدم ما يشاء من هذه الخيارات وترتيبها ضمن العرض كما يشاء.

جزء العملية

يشبه جزء العملية الخاص بهذه الأداة إلى حد كبير الأدوات السابقة، حيث يمكن ترتيب العمليات اعتمادًا على نسبة استهلاك المعالج، أو الذاكرة، أو المستخدم، أو رقم تعريف العملية، مع ملاحظة أنه لا يمكن استخدام وظيفة الترتيب عندما يختار المستخدم العرض بالشكل الشجري.

يختار المستخدم العمود الذي سيكون الترتيب وفقًا له، وذلك بالضغط على F6 لتُعرض مجموعة الأعمدة التي يمكن الترتيب وفقًا لها، وبعد إقدام المستخدم على الاختيار، فسيضغط على Enter لتنفيذ عملية الترتيب.

يمكن التنقّل بين العمليات باستخدام الأسهم وذلك لاختيار عمليةٍ ما، وبعد الاختيار يمكن قتل العملية بالضغط على k، ومن ثم تظهر قائمة بالإشارات ليختار المستخدِم واحدةً منها، بحيث تُرسل إلى العملية. يمكن أيضًا الضغط على المفتاحين F7 وF8 لتغيير مستوى اللطافة للعملية المختارة.

يمكن الضغط على F5 لأية عملية لتُعرض شجرة العملية كاملةً، وبالتالي يمكن تحديد العملية الأب الذي ولّد هذه العملية، وتُعَد هذه المسألة هامةً جدًا عند تشخيص مشاكل العمليات، وخصيصًا ظهور عمليات "ميتة-حية" في النظام.

الضبط

يمتلك كل مستخدم ملف ضبط خاص به مخزنًا في المسار"‎~/.config/htop/htoprc"، وتُحفَظ التغييرات التي يجريها المستخدم في هذا الملف تلقائيًا. لا تمتلك هذه الأداة ضبطًا عامًا وإنما يوجد الضبط فقط ضمن ملفات المستخدم.

أداة glances

تتميز هذه الأداة بقدرتها على عرض الكثير من المعلومات عن الجهاز موازنةً بجميع الأدوات السابقة، كما تعرض الأداة إلى جانب المعلومات التي تعرضها الأدوات السابقة على سبيل المثال: درجات الحرارة الخاصة بمكونات الحاسب، إضافةً إلى سرعة دوران المروحة المستخدمة مع كل مكون، والكثير من المعلومات المفيدة.

تُعَد السلبية الوحيدة لهذه الأداة أنها تستهلك نسبةً كبيرةً من الموارد موازنةً بسابقاتها، وتتراوح نسبة استهلاكها للمعالج بين 10% و18% من إجمالي استخدام المعالج، وهذه النسبة كبيرة جدًا خصوصًا في الأنظمة المحدودة بالموارد.

جزء الملخص

يحتوي جزء الملخص لأداة glances على معظم المعلومات التي تقدّمها أدوات المراقبة الأخرى، حيث تعرض الأداة معلومات استخدام المعالج بشكل شريط و بشكل عددي في حال كانت أبعاد الشاشة تسمح بذلك، وإلا فإنها ستعرض النتائج بالشكل العددي فقط.

linuxsys_image4-520x441.jpg

الشكل (4): يُظهر الشكل واجهة الأداة glances متضمنةً معلومات الشبكة والقرص ونظام الملفات ومعلومات الحساسات.

كما في الأدوات السابقة، يمكن الضغط على 1 لتغيير طريقة عرض معلومات المعالج إما لتعرِض المعلومات عن إجمالي استخدام المعالج أو عرض المعلومات الخاصة بكل معالج على حدى.

جزء العملية

يعرض هذا الجزء المعلومات الاعتيادية عن كل من العمليات قيد التشغيل، حيث يمكن أن تُرتَّب العمليات تلقائيًا بالضغط على a، أو بالاعتماد على استهلاك المعالج c، أو بالاعتماد على استهلاك الذاكرة m، أو بالاعتماد على اسم العملية p، أو بالاعتماد على اسم المستخدم u، أو بالاعتماد على معدل الإدخال والإخراج i، أو بالاعتماد على الوقت t. يعني أن الترتيب التلقائي في الأداة هو اختيار عرض العمليات بالاعتماد على المورد الأكثر استخدامًا، فإذا كان استهلاك المعالج أكبر من 70%، فسيعتمد ترتيب العمليات على استهلاك كل عملية من وقت المعالج، وإذا كان استهلاك الذاكرة أكبر من 70%، فيعتمد الترتيب على استهلاك كل عملية من الذاكرة.

تُظهر الأداة الإنذارات والتحذيرات في أسفل الشاشة متضمّنةً تاريخ ومدة بقاء الإنذار. حيث يفيد وجود الإنذارات بإخبار المستخدِم عند وقوع المشكلة، وبالتالي لا يكون مضطرًا لمراقبة الشاشة ومتابعة تغير الأرقام بدقة دائمًا. ويمكن تشغيل وإيقاف الإنذارات بالضغط على l، كما يمكن إزالة الإنذارات الحالية بالضغط على w، ويمكن إزالة الإنذارات والتحذيرات معًا بالضغط على x.

لا تقتل هذه الأداة العمليات لأنها مجرد أداة للمراقبة، كما أنها لا تغير من مستوى اللطافة للعملية للسبب ذاته، وإذا رغب المستخدم بذلك فيجب عليه استخدام الأوامر kill أو renice خارج هذه الأداة.

الشريط الجانبي

تمتلك الأداة glances شريطًا جانبيًا جميلًا والذي يعرِض معلومات غير موجودة في كل من top وhtop. يمكن أن تعرِض atop بعضًا من المعلومات التي تعرضها هذه الأداة، ولكن فقط glances هي القادرة على عرض معلومات حساسات الحرارة من الأدوات السابقة، كما يمكن عرض المعلومات عن الأقراص ونظام الملفات والشبكة والحساسات، بالضغط على d أو f أو n أو s بالترتيب، ويمكن اظهار الشريط الجانبي بالضغط على 2، كما يمكن عرض الإحصائيات في أسفل الشاشة بالضغط على D.

الضبط

لا تتطلب الأداة glances ملفًا للضبط لكي تعمل بصورة صحيحة، ولكن في حال رغبة المستخدم بوجوده، فيوجد ملف الضبط العام ضمن المجلد الحامل لهذه التسمية "‎"/etc/glances/glances.conf،  فعندما ينشئ المستخدم ملف الضبط الخاص به ضمن المسار "‎"~/.config/glances/glances.conf، فإنه سيصبح ملف الضبط الفعال، ويتجاوز ملف الضبط العام. يمكن ضمن هذه الملفات تحديد عتبات الإنذارات والتحذيرات فقط، في حين فيجب إعادة ضبط أية تعديلات أخرى على الأداة مثل تعديل الشريط الجانبي أو غيره في كل مرة بعد تشغيل الأداة.

يتضمن توثيق الأداة معلومات كافية عن استخدام الأداة glances، وتكون موجودةً افتراضيًا ضمن المسار التالي:

"‎/usr/share/doc/glances/glances-doc.html"

 وعلى الرغم من أنه قد ذُكِر في الوثيقة أنه يمكن ضبط الأداة كاملةً عن طريق الملف، إلا أنّه لم تُذكر أية طريقة لتحقيق ذلك ضمن الملف.

الخلاصة

يجب على المستخدم قراءة الدليل الخاص بكل أداة من أدوات المراقبة للتعرف على الطريقة التي تناسب المستخدم في ضبطها والتفاعل معها، ويمكن دومًا الاستعانة بالأمر h ضمن الأدوات للاستفادة من المساعدة التفاعلية الموجودة ضمنها، والتي تقدّم الكثير من المعلومات حول تنفيذ عمليات الاختيار والترتيب في الأداة.

يمكن أن تقدّم هذه الأدوات الكثير من المعلومات عن سبب المشاكل التي تصادف المستخدم، كما يمكن أن تحدد أيًا من العمليات هو الأكثر استهلاكًا للمعالج، أو تحديد كمية الذاكرة الحرّة المتاحة، إضافةً إلى معرفة أي من العمليات قد أوقفت مؤقتًا لأنها تنتظر عمليات الإدخال والإخراج، أو لأنها تنتظر الشبكة. يمكن بالمراقبة المستمرة لهذه الأدوات أن يستطيع المستخدِم التمييز بين السلوك الطبيعي للنظام عن السلوك غير الطبيعي الذي يظهر بالنهاية على هيئة مشكلة في الأداء، كما يجب الأخذ بالحسبان أنّ هذه الأدوات تستهلك من موارد الحاسوب الذي تراقبه، حيث تستهلك الأداة glances نسبةً تتراوح بين 10% و20% من وقت المعالج، بينما لا تستهلك الأدوات المتبقية أكثر من 3% من نفس المورد، ويجب التفكير بذلك جيدًا عند اختيار الأداة المناسبة بتقدير نوع المعلومات التي يحتاج المستخدم مراقبته إضافةً إلى معرفة مواصفات الجهاز الذي يُراقَب.

ترجمة -وبتصرف- للمقال "‎4 open source tools for Linux system monitoring" لصاحبه David Both.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...