أمر top في لينكس: من الإطار النظري إلى التطبيق العملي

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

منذ ظهوره الأول في أنظمة يونكس في منتصف الثمانينيات، احتفظ top بمكانته كأداة أساسية لا غنى عنها لمسؤولي الأنظمة والمطورين على حد سواء. تخيل لو كنت قبطان سفينة – top سيكون لوحة القيادة التي تظهر لك سرعة السفينة، استهلاك الوقود، وأداء المحركات، كل ذلك في آن واحد.

يختلف top عن الأمر المشابه ps في كونه يعرض معلومات حية يتم تحديثها باستمرار (افتراضيًا كل 3 ثوانٍ)، مما يجعله الاختيار الأمثل لتحليل أداء النظام في الوقت الحقيقي واكتشاف المشاكل حال حدوثها. عند تشغيله، يعرض top قسمين رئيسيين:

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

تشغيل أمر top وفهم المخرجات

التشغيل الأساسي

أبسط طريقة لتشغيل الأمر هي بكتابة:

top

عند تنفيذ هذا الأمر، ستظهر واجهة تفاعلية تنقسم إلى قسمين رئيسيين كما ذكرنا:

القسم العلوي: ملخص النظام

يمثل القسم العلوي من واجهة top نظرة سريعة وشاملة على حالة النظام في الوقت الفعلي، ويُعد من أهم أدوات مراقبة الأداء. يتضمن هذا القسم معلومات عن مدة تشغيل النظام (uptime)، وعدد المستخدمين الحاليين، ومتوسط الحمل (load average) الذي يعكس عدد العمليات المنتظرة على المعالج خلال آخر 1 و5 و15 دقيقة. كما يعرض حالة العمليات على النظام، بما في ذلك عددها الإجمالي، وعدد العمليات الجارية والمعلقة والمتوقفة. بالإضافة إلى ذلك، يوفر هذا الجزء تفاصيل دقيقة حول استهلاك وحدة المعالجة المركزية (CPU) مقسّمًا إلى الاستخدام من قبل المستخدم، النظام، العمليات الخاملة، وغيرها. وأخيرًا، يتضمن ملخصًا لاستخدام الذاكرة العشوائية (RAM) وذاكرة المبادلة (Swap)، مما يساعد المسؤولين عن النظام على تقييم مدى ضغط الموارد بشكل لحظي.

الحقلالوصف
مدة التشغيلالوقت منذ آخر إقلاع للنظام
عدد المستخدمينعدد الجلسات النشطة حالياً
متوسط الحملمتوسط عدد العمليات في طابور التنفيذ خلال 1، 5، و15 دقيقة
العملياتإجمالي العمليات وعددها الجاري والمعلقة والموقوفة
استخدام المعالجنسبة استخدام وحدة المعالجة حسب النوع (تستخدم، خاملة، انتظار، إلخ)
استخدام الذاكرةتفصيل استخدام الذاكرة العشوائية وذاكرة المقايضة

القسم السفلي: قائمة العمليات

يمثل القسم السفلي من واجهة top جدولًا ديناميكيًا يعرض جميع العمليات (Processes) الجارية على النظام في الوقت الفعلي. هذا الجدول يتحدث تلقائيًا ويُظهر معلومات مفصّلة عن كل عملية، ما يسمح بمراقبة الأداء بشكل دقيق على مستوى كل برنامج أو خدمة تعمل في الخلفية. لكل عملية سطر خاص يحتوي على مجموعة من الحقول المهمة :

الحقلالوصف
PIDمعرف العملية الفريد
المستخدممالك العملية
PRأولوية التنفيذ
NIقيمة nice (تعديل الأولوية)
VIRTالذاكرة الافتراضية المستخدمة
RESالذاكرة الفعلية المستخدمة
SHRالذاكرة المشتركة
Sحالة العملية
%CPUنسبة استخدام وحدة المعالجة
%MEMنسبة استخدام الذاكرة
الوقتالوقت المستهلك بواسطة العملية
الأمراسم الأمر أو العملية

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

الخيارات الأساسية لأمر top

يأتي top مع عدة خيارات مفيدة يمكن تمريرها عند التشغيل:

top -d 5

يغير فترة التحديث إلى 5 ثوان بدلاً من 3 ثوانٍ افتراضياً

top -p PID1,PID2,PID3

لرصد عمليات محددة بمعرفاتها فقط

top -u username

لعرض عمليات مستخدم معين فقط

top -b -n 3 > top_output.txt

لتشغيل top في وضع الدفعات وحفظ 3 تحديثات في ملف

إدارة العمليات عبر أمر top

إحدى الميزات القوية لأمر top هي القدرة على إدارة العمليات مباشرةً من واجهته التفاعلية بدون الحاجة إلى الخروج منها:

الزرالوظيفة
kإرسال إشارة إلى عملية (مثل إنهاء العملية)
rتغيير قيمة nice لتعديل أولوية العملية
zتبديل عرض الألوان
cتبديل عرض الأمر الكامل/المختصر
Mالترتيب حسب استخدام الذاكرة
Pالترتيب حسب استخدام وحدة المعالجة (الافتراضي)
Tالترتيب حسب وقت التشغيل
qالخروج من top

الخيارات المتقدمة واستكشاف المشكلات

تحديد التطبيقات المستهلكة للموارد

عند ملاحظة بطء أو ضعف في أداء النظام، يمكن استخدام أمر top كأداة فعالة لتحديد العمليات أو التطبيقات التي تستهلك الموارد بشكل مفرط. تبدأ الخطوة الأولى بتشغيل الأمر top . عندها ستظهر واجهة تفاعلية تعرض تفاصيل العمليات الجارية. لتحديد العمليات التي تستهلك الذاكرة العشوائية (RAM) بشكل كبير، يمكن الضغط على Shift + M لترتيب العمليات تنازليًا حسب نسبة استخدام الذاكرة. وبالمثل، لتحديد العمليات التي تستهلك المعالج (CPU)، يتم الضغط على Shift + P، مما يعيد ترتيب القائمة حسب نسبة استخدام المعالج.

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

  1. تشغيل top لرؤية العمليات النشطة
  2. الضغط على Shift+M للترتيب حسب استخدام الذاكرة
  3. الضغط على Shift+P للترتيب حسب استخدام وحدة المعالجة
  4. مراجعة العمليات التي تظهر في القمة

إزالة التجميد المؤقت

في حال تجمّد تطبيق ما وتوقف عن الاستجابة، يمكن استخدام أداة top للتعامل معه يدويًا وإنهاء حالته المجمدة دون الحاجة لإعادة تشغيل النظام. تبدأ العملية بفتح top والبحث عن رقم المعرف (PID) الخاص بالتطبيق المتجمّد من خلال مراقبة اسمه أو نشاطه في قائمة العمليات.

بعد تحديد الـ PID، يُمكن الضغط على المفتاح k داخل واجهة top، وهو اختصار لأمر “kill”. سيطلب منك النظام إدخال رقم العملية (PID) التي ترغب في إنهائها، ثم اختيار رقم الإشارة (signal) التي سيتم إرسالها إلى العملية. هذا الإجراء يمنح المستخدم وسيلة فعّالة للتحكم في العمليات المتجمّدة دون التأثير على النظام ككل.

  1. البحث عن PID التطبيق في top
  2. الضغط على k وإدخال PID العملية
  3. إرسال إشارة SIGTERM (15) أولاً
  4. إذا لم ينجح ذلك، إرسال SIGKILL (9)

تحسين أداء النظام

من الوسائل الفعّالة لتحسين أداء النظام استخدام أمر top لتحديد العمليات غير الضرورية التي تستهلك الموارد بسبب أولوية تنفيذ عالية. في واجهة top، يمكن ملاحظة العمليات التي تملك قيمة nice منخفضة (أقرب إلى 0 أو بالسالب)، مما يعني أنها ذات أولوية مرتفعة لدى المعالج.

لموازنة الأداء، يمكن الضغط على المفتاح r داخل top لتعديل قيمة nice لأي عملية نشطة. بعد الضغط، سيُطلب منك إدخال رقم PID الخاص بالعملية، ثم تحديد قيمة nice الجديدة.

  1. شغّل top
  2. ابحث عن عمليات بمستوى nice منخفض
  3. استخدم r لضبط مستوى nice لزيادة أولوية العمليات المهمة أو تقليل أولوية العمليات الأقل أهمية

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

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

ملخص الدرس

ما وظيفة أمر top في نظام لينكس؟

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

متى يُفضل استخدام top بدلًا من ps؟

يُستخدم top عند الحاجة إلى متابعة التغيرات اللحظية في أداء النظام. أما ps فيُناسب الحالات التي تتطلب عرضًا ثابتًا لحالة العمليات في لحظة معينة فقط.

ما المعلومات التي يقدمها القسم العلوي في top؟

يعرض هذا القسم بيانات مثل مدة تشغيل النظام، الحمل على المعالج، وعدد المستخدمين النشطين. كما يوضح استهلاك الذاكرة وذاكرة المبادلة (Swap).

ماذا تعني الأعمدة PID و %CPU في top؟

PID هو الرقم التعريفي الفريد لكل عملية في النظام. أما %CPU فيشير إلى نسبة استهلاك العملية لوحدة المعالجة المركزية مقارنة ببقية العمليات.

هل يمكن تغيير سرعة تحديث البيانات في top؟

نعم، يمكن التحكم في فترة التحديث عند تشغيل الأمر باستخدام الخيار -d. هذا يسمح بتقليل أو زيادة سرعة تحديث المعلومات حسب الحاجة.

كيف يمكن إنهاء عملية مباشرة من داخل top؟

يوفر top إمكانية إرسال إشارات للعمليات باستخدام لوحة المفاتيح. هذه الميزة تتيح للمستخدم إيقاف عملية معينة دون مغادرة الواجهة التفاعلية.

كيف يتم ترتيب العمليات حسب استهلاك الذاكرة؟

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

ما المقصود بتعديل أولوية العملية داخل top؟

يسمح top بتغيير أولوية تنفيذ العمليات من خلال التحكم في قيمة nice. هذا يساعد في تقليل تأثير العمليات الثقيلة على استجابة النظام العامة.

ما الفرق بين إنهاء العملية بشكل منظم وإنهائها قسرًا؟

الإنهاء المنظم يسمح للتطبيق بإغلاق ملفاته وحفظ بياناته قبل التوقف. أما الإنهاء القسري فيُستخدم كحل أخير عندما تتجمد العملية ولا تستجيب.

لماذا يُعد top أداة أساسية لمسؤولي الأنظمة؟

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

المراجع

  • الصفحة الرسمية لبروكر مستندات لينكس (man pages)
  • كتاب “Linux Performance” لـ Brendan Gregg
  • موقع Linux Documentation Project
ماهر المخلوفي
ماهر المخلوفي

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

المقالات: 49