در مدیریت و پشتیبانی سرورهای لینوکس، داشتن ابزارهایی برای بررسی عملکرد سیستم و منابع آن حیاتی است. یکی از این ابزارهای مهم که در اکثر توزیع‌های لینوکس به صورت پیش‌فرض وجود دارد، دستور top است. این ابزار ساده و قدرتمند، نمایی زنده از فعالیت‌های سیستم ارائه می‌دهد و اطلاعاتی مانند استفاده از CPU، حافظه، فرآیندهای فعال و وضعیت بار سیستم را به‌صورت لحظه‌ای نمایش می‌دهد. در این مقاله به صورت تخصصی با ابزار top لینوکس آشنا می‌شویم، کاربردهای آن را بررسی می‌کنیم و نحوه استفاده از آن را به‌طور کامل آموزش می‌دهیم.

معرفی ابزار top در لینوکس

دستور top یکی از ابزارهای مانیتورینگ در ترمینال لینوکس است که لیستی از فرآیندهای در حال اجرا را به همراه اطلاعاتی مانند PID، میزان مصرف CPU و RAM، وضعیت فرآیند، زمان اجرا و … نمایش می‌دهد. این ابزار به مدیر سیستم اجازه می‌دهد تا فرآیندهایی که بیشترین منابع را مصرف می‌کنند شناسایی کرده و در صورت نیاز آن‌ها را متوقف یا تنظیم کند.

نحوه اجرای دستور top

برای اجرای ابزار top کافی است ترمینال را باز کرده و دستور زیر را وارد کنید:
top

با اجرای این دستور، یک رابط تعاملی در ترمینال باز می‌شود که در هر چند ثانیه اطلاعات را به‌روزرسانی می‌کند. برای خروج از محیط top کافیست کلید qرا فشار دهید.

بررسی اجزای خروجی دستور top
خروجی دستور top شامل چند بخش است:
1. هدر (Header)
در بالای خروجی اطلاعات کلی سیستم نمایش داده می‌شود:
• : uptime مدت زمانی که سیستم روشن بوده است.
• load average :میانگین بار سیستم در ۱، ۵ و ۱۵ دقیقه گذشته.
• tasks :تعداد کل فرآیندها و وضعیت آن‌ها running)، sleeping، zombie )
• :cpu usage درصد استفاده از CPU توسط user، system، idle و … .
• memory و :swap میزان استفاده از RAM و Swap

2. لیست فرآیندها (Processes)
در ادامه، جدولی شامل فرآیندهای فعال نشان داده می‌شود. ستون‌های مهم این جدول عبارتند از:
• PID :شناسه فرآیند.
• :USER نام کاربری که فرآیند را اجرا کرده.
• %:CPU درصد استفاده فرآیند از CPU
• %:MEM درصد استفاده فرآیند از RAM
• :+TIME مجموع زمان پردازشی که فرآیند تاکنون مصرف کرده.
• :COMMAND نام برنامه یا دستوری که فرآیند مربوط به آن است.

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

کلید عملکرد
P مرتب‌سازی بر اساس CPU
M مرتب‌سازی بر اساس RAM
T مرتب‌سازی بر اساس زمان اجرا
k کشتن یک فرآیند (با وارد کردن PID)
r تغییر اولویت فرآیند

آموزش کتابخانه OS پایتون

فیلتر کردن فرآیندها در top

برای فیلتر کردن نمایش بر اساس یک رشته خاص می‌توانید از کلید / استفاده کنید. پس از زدن / عبارت مورد نظر (مثلاً نام یک برنامه یا کاربر) را تایپ کنید تا فقط فرآیندهای مربوط به آن نمایش داده شود.

سفارشی‌سازی ظاهر ابزار top

شما می‌توانید نمای top را با زدن z رنگی کنید یا با f ستون‌های موردنظر را انتخاب کرده و ترتیب آن‌ها را تغییر دهید. همچنین با W می‌توانید تنظیمات فعلی را ذخیره کنید تا در اجرای بعدی top به‌کار بروند.

htop در برابر top: تفاوت‌ها

در کنار ابزار top، ابزار دیگری به نام htop نیز وجود دارد که رابط گرافیکی‌تر و رنگی‌تری ارائه می‌دهد. Htop کاربرپسندتر است، اما top به‌دلیل سبکی و نصب پیش‌فرض، همچنان برای مدیران حرفه‌ای محبوب‌تر است.
ویژگی top htop
رابط گرافیکی ندارد دارد
رنگ‌بندی دستی پیش‌فرض رنگی
پشتیبانی از ماوس ندارد دارد
نصب پیش‌فرض بله خیر

استفاده از top برای مانیتورینگ منابع در سرور
یکی از کاربردهای اصلی top در محیط‌های سروری، بررسی مصرف منابع توسط سرویس‌ها یا برنامه‌های خاص است. به‌عنوان مثال، اگر سرور دچار کندی یا افزایش بار شود، با اجرای top می‌توان سریعاً فرآیندهایی که CPU یا RAM زیادی مصرف می‌کنند را شناسایی کرد. همچنین در مواقعی که load average بالا باشد، top می‌تواند در پیدا کردن منبع مشکل بسیار مؤثر باشد.

خروجی گرفتن از top برای گزارش‌گیری
اگر می‌خواهید خروجی دستور top را ذخیره کنید، می‌توانید از گزینه‌های غیربیناکنشی آن استفاده کنید:
top -b -n 1 > report.txt

در این مثال، دستور top فقط یک بار اجرا شده و خروجی آن داخل فایل report.txt ذخیره می‌شود. این روش برای گزارش‌گیری خودکار یا مانیتورینگ دوره‌ای بسیار مفید است.

جمع‌ بندی

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