ماهو الأمر top
في عالم إدارة الأنظمة ومراقبة الأداء، يبرز أمر top كواحد من أهم الأدوات التي يجب على كل مستخدم لنظام لينكس إتقانها. يعتبر هذا الأمر النافذة التي تتيح لك النظر مباشرة إلى نبض نظامك الحي، حيث يوفر معلومات حية وديناميكية عن جميع العمليات الجارية واستهلاك المواقع النظامية.
منذ ظهوره الأول في أنظمة يونكس في منتصف الثمانينيات، احتفظ top بمكانته كأداة أساسية لا غنى عنها لمسؤولي الأنظمة والمطورين على حد سواء. تخيل لو كنت قبطان سفينة – top سيكون لوحة القيادة التي تظهر لك سرعة السفينة، استهلاك الوقود، وأداء المحركات، كل ذلك في آن واحد.
يختلف top عن الأمر المشابه ps في كونه يعرض معلومات حية يتم تحديثها باستمرار (افتراضيًا كل 3 ثوانٍ)، مما يجعله الاختيار الأمثل لتحليل أداء النظام في الوقت الحقيقي واكتشاف المشاكل حال حدوثها. عند تشغيله، يعرض top قسمين رئيسيين:
- ملخص عام لنظام يشمل معلومات عن مدة التشغيل، عدد المستخدمين، متوسط الأحمال، واستخدام المعالج والذاكرة
- قائمة تفصيلية للعمليات الجارية مصنفة حسب استهلاك وحدة المعالجة المركزية بشكل افتراضي
تشغيل أمر 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، مما يعيد ترتيب القائمة حسب نسبة استخدام المعالج.
بعد إعادة الترتيب، ستظهر العمليات الأكثر استهلاكًا للموارد في الأعلى، ما يُسهل ملاحظتها وتحليلها. من هنا يمكن اتخاذ القرار المناسب، مثل إنهاء عملية معينة أو إعادة تشغيل خدمة تستهلك موارد النظام بشكل غير مبرر.
- تشغيل top لرؤية العمليات النشطة
- الضغط على Shift+M للترتيب حسب استخدام الذاكرة
- الضغط على Shift+P للترتيب حسب استخدام وحدة المعالجة
- مراجعة العمليات التي تظهر في القمة
إزالة التجميد المؤقت
في حال تجمّد تطبيق ما وتوقف عن الاستجابة، يمكن استخدام أداة top للتعامل معه يدويًا وإنهاء حالته المجمدة دون الحاجة لإعادة تشغيل النظام. تبدأ العملية بفتح top والبحث عن رقم المعرف (PID) الخاص بالتطبيق المتجمّد من خلال مراقبة اسمه أو نشاطه في قائمة العمليات.
بعد تحديد الـ PID، يُمكن الضغط على المفتاح k داخل واجهة top، وهو اختصار لأمر “kill”. سيطلب منك النظام إدخال رقم العملية (PID) التي ترغب في إنهائها، ثم اختيار رقم الإشارة (signal) التي سيتم إرسالها إلى العملية. هذا الإجراء يمنح المستخدم وسيلة فعّالة للتحكم في العمليات المتجمّدة دون التأثير على النظام ككل.
- البحث عن PID التطبيق في top
- الضغط على k وإدخال PID العملية
- إرسال إشارة SIGTERM (15) أولاً
- إذا لم ينجح ذلك، إرسال SIGKILL (9)
تحسين أداء النظام
من الوسائل الفعّالة لتحسين أداء النظام استخدام أمر top لتحديد العمليات غير الضرورية التي تستهلك الموارد بسبب أولوية تنفيذ عالية. في واجهة top، يمكن ملاحظة العمليات التي تملك قيمة nice منخفضة (أقرب إلى 0 أو بالسالب)، مما يعني أنها ذات أولوية مرتفعة لدى المعالج.
لموازنة الأداء، يمكن الضغط على المفتاح r داخل top لتعديل قيمة nice لأي عملية نشطة. بعد الضغط، سيُطلب منك إدخال رقم PID الخاص بالعملية، ثم تحديد قيمة nice الجديدة.
- شغّل top
- ابحث عن عمليات بمستوى nice منخفض
- استخدم r لضبط مستوى nice لزيادة أولوية العمليات المهمة أو تقليل أولوية العمليات الأقل أهمية
بهذه الطريقة، يمكنك التحكم في أولويات النظام وتحقيق توازن أفضل بين العمليات النشطة، مما ينعكس إيجابيًا على سرعة الاستجابة والأداء العام للجهاز.
يظل top أداة لا غنى عنها في ترسانة أدوات إدارة نظام لينكس. مع الممارسة المستمرة، ستجد أن top ليس مجرد أداة مراقبة، بل نظام إنذار مبكر ووسيلة فعالة للحفاظ على أداء النظام في ذروته. جرب الأوامر المتقدمة، استكشف جميع إمكاناته، واجعلها جزءاً من روتينك اليومي في إدارة الأنظمة.
المراجع
- الصفحة الرسمية لبروكر مستندات لينكس (man pages)
- كتاب “Linux Performance” لـ Brendan Gregg
- موقع Linux Documentation Project