مشاهده آنلاین پردازش ها با دستور top در لینوکس

محتوای مطلب

در این از سری مقالات مدیریت منابع در لینوکس میخواهیم دستور top را بررسی کنیم که تقریبا بیشتر کارهای مدیریت پردازش های لینوکسی را برای شما انجام میدهد. زمانیکه با سیستم عامل در حال کار هستید ممکن است کند بودن سرویسی را متوجه شوید یا اینکه دستورات کند اجرا شوند، در این هنگام باید بتوانید بررسی کنید که علت این کند بودن چه چیزی است و دستور top در لینوکس جز اولین دستوراتی است که میتوانید به وسیله آن از پردازش های در حال انجام با خبر شوید.

جزییات اطلاعات نمایش داده شده در دستور top

دستوراتی زیادی جهت کار با پردازش ها وجود دارد مانند دستور ps در لینوکس اما تفاوت دستور top با دستور ps در این است که دستور top بصورت آنلاین به شما تمامی پردازش ها را نمایش میدهد و همچنین بصورت تعاملی میتوانید بر اساس فاکتورهای مختلف پردازش ها را مرتب و مشاهده کنید. همچنین شما میتوانید در صورت نیاز یک پردازش را به وسیله دستور top در لینوکس kill کنید. نمای کلی دستور بصورت تصویر زیر میباشد.

دستور top در لینوکس
همانطور که در تصویر بالا مشاهده میکنید با وارد کردن دستور top در خط فرمان یک گزارش کلی از فرآیندهای سیستم به شما نمایش میدهد و همچنین یک گزارش مختصر در بالای صفحه از وضعیت سیستم نیز مشاهده میکنید. که قسمت های مختلف آن به شرح زیر است.

قسمت uptime در دستور top

در خط اول، نخست ساعت سیستم را نمایش میدهد سپس شما تعداد ساعت و روز که سیستم uptime بوده را مشاهده میکنید سپس تعداد کاربران که در سیستم لاگین کرده اند را به شما نمایش میدهد. پس از آن سه عدد به شما نمایش میدهد که اولی میانگین بار cpu در یک دقیقه، دومی میانگین در پنج دقیقه و سومی میانگین در پانزده دقیقه است. این میانگین بین عدد 0 و 1.0 است و در صورتیکه از عدد 1 بیشتر باشد نمایش دهنده فشار بر روی پردازنده میباشد. عموما برای یک دقیقه این عدد همیشه بیشتر است اما برای پانزده دقیقه عدد نرمال را نمایش میدهد.

قسمت task در دستور top

در قسمت tasks پنج دسته بندی مختلف از پردازش های موجود بر روی سیستم را نمایش میدهد که این 5 دسته بندی بصورت زیر است:

  • total: کل پردازش های موجود بر روی سیستم فارغ از فعال یا غیرفعال بودن را نمایش میدهد.
  • running: تعداد پردازش هایی که پردازنده و منابع به آنها اختصاص داده شده را نمایش میدهد.
  • sleeping: تعداد پردازش هایی که منتظر تخصیص پردازنده و منابع هستند را نمایش میدهد.
  • stopped: تعداد پردازش هایی را نمایش میدهد که به اتمام رسیده اند و منابع و پردازنده را به سیستم بازگردانده اند و در حال ارسال سیگنال پایان به پردازنده والد هستند.
  • zombie: تعداد پردازنده هایی را نمایش میدهد که منتظر پایان یافتن از سمت پردازنده والد هستند. در سیستم هایی که میزان uptime بالایی دارند ممکن است تعدادی zombie به شما نمایش بدهد که مشکلی برای شما ایجاد نمیکند.

قسمت CPU% در دستور top

در این قسمت گزارشی دقیق تر به نسبت قسمت uptime از مصرف پردازنده توسط پردازش ها داده میشود که توضیح اعداد و حروف به شرح زیر است:

  • us: درصد زمان استفاده از پردازنده توسط پردازش های کاربر
  • sy: درصد زمان استفاده از پردازنده توسط پردازش های کرنل
  • ni: درصد زمان استفاده از پردازنده توسط پردازش هایی که بصورت دستی با دستور nice در لینوکس تغییر اولویت داده شده اند.
  • id: درصد زمانی که پردازنده بیکار بوده است.
  • wa: درصد زمانی که پردازنده منتظر I/O برای انجام کاری بوده است.
  • hi: درصد زمانی که صرف مدیریت hardware interrupts شده است.
  • si: درصد زمانی که صرف مدیریت software interrupts شده است.
  • st: درصد زمانیکه پردازنده مجازی منتظر پردازنده فیزیکی بوده برای اینکه اختصاص پیدا کند.

قسمت mib mem در دستور top

دو قسمت انتهایی در مورد مصرف حافظه یا Memory به شما گزارش میدهد. قسمت mib mem در مورد مصرف physical memory که بصورت فیزیکی در سیستم شما موجود است به شما اطلاعات میدهد که به شرح زیر است:

  • total: کل حافظه یا Ram فیزیکی نصب شده بر روی سیستم
  • free: کل حافظه در دسترس و آزاد
  • used: حافظه استفاده شده توسط پردازش ها
  • buff/cached: میزان فضایی که buffer شده است تا در صورت آزاد شدن نوشته شود

قسمت mib swap در دستور top

لینوکس نیز مانند سایر سیستم عامل ها از حافظه swap یا virtual memory یا حافظه مجازی برای مدیریت حافظه RAM استفاده میکند و در صوتیکه حافظه فیزیکی به میزان کافی وجود نداشته باشد مقداری از پردازش ها را به فضای دیسک منتقل خواهد کرد و سپس برای اجرا به حافظه فیزیکی RAM آن را باز خواهد گرداند. به این علت که این انتقال ها از حافظه فیزیکی به فضای دیسک زمان بر و کند است باید استفاده از این فضا محدود باشد و دائما از این حافظه استفاده نشود. تعاریف مورد استفاده برای mib mem برای این حافظه هم کاربرد دارد و نیازی به توضیح اضافه در این مورد نیست.

کار با دستور top در لینوکس

حال که شما با اطلاعاتی که در خروجی این دستور نمایش داده میشود آشنا شده اید میتوانید با استفاده از کلید های مختلف و همچنین پارامتر های مختلف بر روی عملکرد دستور top تاثیر بگذارید و اطلاعات مد نظرتان را فقط مشاهده نمایید. در ادامه میتوانید نحوه کار با دستور top در لینوکس آشنا شوید.

نکته: دقت کنید که کلید ها و پارامتر های معرفی شده برای دستور top بصورت case-sensitive میباشد و بین حروف کوچک و بزرگ انگلیسی تفاوت عملکرد وجود دارد.

مشاهده پردازش های مربوط به یک کاربر با دستور top

شما میتوانید خروجی دستور را فیلتر نمایید بصورتیکه فقط پردازش های مربوط به یک کاربر خاص را به شما نمایش دهد. با استفاده از پارامتر u- به همراه نام کاربری مد نظرتان همانند زیر میتوانید این کار را انجام دهید.

مشاهده پردازش های یک کاربر خاص با دستور top

kill کردن یک پردازش با دستور top

همانطور که شما امکان مشاهده پردازش ها یا مرتب سازی آنها بر اساس فاکتورهای مختلف را دارید، شما میتوانید پردازشی که منابع زیادی را به خود اختصاص داده است را kill کنید و کلا از جدول پردازش ها آن را حذف نمایید. با زدن دکمه k در هنگامی که دستور top در حال نمایش اطلاعات میباشد و سپس وارد کردن شماره پردازش(PID) مد نظرتان میتوانید یک پردازش را kill کنید همانند زیر:

مرتب سازی پردازش ها بر اساس مصرف حافظه، پردازنده و شماره پردازش توسط دستور top

شما میتوانید خروجی اطلاعات نمایش داده شده توسط دستور top را بر اساس مصرف حافظه و پردازنده و همچنین شماره پردازش و زمان اختصاص پردازنده مرتب نمایید. برای انجام دادن این کار میتوانید از کلیدهای زیر استفاده نمایید.

  • M: مرتب سازی بر اساس درصد مصرف حافظه یا RAM
  • N: مرتب سازی بر اساس شماره پردازش PID
  • T: مرتب سازی بر اساس مدت زمان استفاده از CPU
  • P: مرتب سازی بر اساس درصد استفاده از پردازنده یا CPU

محدود کردن تعداد پردازش های دستور top

اگر شما دستور top را در خط فرمان خود وارد کنید بصورت پیش فرض تمامی پردازش ها را به شما نمایش میدهد اما شما میتوانید با زدن دکمه n و سپس وارد کردن تعداد مد نظرتان، تعداد پردازش ها را محدود خواهد کرد همانند تصویر زیر:

top command in linux
در این مقاله سعی شد که یک آشنایی کلی از نحوه عملکرد و کار با دستور top در لینوکس به شما داده شود. دستور top پارامتر های زیادی دارد و در مقالات دیگر سعی خواهیم کرد حالت های پیشرفته این دستور را به شما آموزش دهیم.

دیدگاهتان را بنویسید

سه + 14 =