تماس 9 تا 21 و تیکت 24 ساعته

دستورات کاربردی TOP برای مانیتور پروسس های سرور

یکی از پرکاربردترین دستورات مانیتورینگ در سرورها می باشد که اغلب مدیران سرورها بی شک ازین دستور استفاده کرده اند.

این دستور تمام proccess های در حال اجرا در سرور را نمایش می دهد و مشخص می کند چه برنامه هایی هم اکنون از ram و cpu سرور استفاده میکنند.

این دستور بعد از اجرا شدن مقادیر زیر را نمایش می دهد:

CPU usage, Memory usage, Swap Memory, Cache Size, Buffer Size, Process PID, User,loadserver,uptime server

شما با استفاده ازین دستور می توانید پروسس هایی که باعث بالا رفتن لود سرور شده اند شناسایی کنید و kill کنید.

اگر دستور top رو به تنهایی بزنین وارد محیطی می‌شین که شبیه به زیر هست که هر سه ثانیه اطلاعتش بروز می‌شود و برای خروج از اون دکمه q رو بزنین یا کلید ترکیبی ctrl+c.

در خروجی بالا:

خط اول به ترتیب از سمت چپ به راست: ساعت، مدت زمانی که سیستم روشن بوده، تعداد کاربرانی که در سیستم هستند  و لود سیستم که از چپ به راست برای ۱، ۵ و ۱۵ دقیقه گذشته محاسبه می شود.

خط دوم در مورد وظایف سیستم هست که در خروجی بالا  223 تا وظیفه وجود دارد (یعنی 223 تا pid وجود داره) که در بین همه‌ی آن‌ها دوتاشون در حال کار کردن و بقیه در حالت خواب (sleep یا idle) هستن و هیچ پروسسی stop نشده و یک پروسس zombie داریم. توضیح پروسس zombie و stop خارج بحث این‌جاست.

خط سوم در مورد cpu و مصارف مربوط به اون هست.

خط چهارم و پنجم در مورد رم وswap هست.

نکته: مقدار مصرف رم در دستور top با احتساب disk caching نشون داده می‌شود. برای اطلاعات بیشتر به دستور free مراجعه کنین.

آپشن‌ها

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

گروه اول آپشن‌ها

b-: دستور top رو در حالت Batch mode اجرا می‌کند که برای ذخیره خروجی دستور top در داخل یک فایل متنی مناسب است. تفاوتش با حالت عادی رو با تست کردن خودتون متوجه می‌شین.

خروجی زیر کامل نیست چون حجمش زیاد بود قسمتیش رو گذاشتم:

d-: برای تعیین مدت زمان بین هر به‌روزآوری. در زیر هر یک ثانیه به‌روز می‌شود:

n-: برای تعیین تعداد دفعات به‌روزآوری که بعد اتمام دفعات دستور top بسته می‌شود. در دستور زیر بعد از پنج بار به‌روزآوری در بازه‌های یک ثانیه دستور top بسته می‌شود.

s-: برای اجرای دستور top در حالت secure استفاده می‌شود. بعضی امکانات مانند kill کردن یک پروسس در این حالت کار نمی‌کنند.

u- USERNAME: برای تعیین نام کاربری است که دستور top فقط پروسس‌های مربوط به اون کاربر رو نشون میده.

مثلا در زیر کاربر aliabry فقط دو پروسس دارد یکی خود دستور top و یکی پوسته bash:

p-: برای تعیین pid هستش.

i-: پروسس‌های idle و zombie رو نشون نمی‌ده.

گروه دوم آپشن‌ها

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

k: برای kill کردن یک پروسس مورد استفاده قرار می‌گیره که به صورت پیش‌فرض SIGTERM رو به اون پروسس می‌فرسته.

اول دکمه k  رو بزنین تا خطی مثل PID to kill: 23255ظاهر بشه بعد جلوش pid مورد نظرتون رو بنویسین بعد از شما شماره سیگنالی می خواین بهش بفرستین رو می‌پرسه:

که پیش فرض 15 یا SIGTERM هست (برای اطلاعات بیشتر در مورد سیگنال‌ها به دستور kill مراجعه کنین).

نکته: برای انجام این‌کار باید دسترسی کافی داشته باشین.

s: برای تغییر مدت زمان بین هر آپدیت.

نکته: با فشردن کلید space نیز محتویات به‌روز می‌شوند.

n: برای تعیین تعداد پروسسی که در جدول نشون بده . در زیر ۵ پروسس نشون میده:

r: برایه renice کردن هست. انجام این‌کار نیاز به دسترسی کافی دارد.

اول شماره pid رو ازتون می‌گیره:

و سپس شماره اولویتی که می‌خاین بهش تعلق بگیره:

نکته: عدد اولویت یک pid در ستون NI ظاهر می‌شود.

u: مثل آپشن u-در آپشن‌های گروه اول برای تعیین نام کاربری هست. به غیر از نام کاربری UID هم می‌تونین بدین.

z: برای تغییر رنگ هستش. خودتون یک بار بزنین تفاوت رو می‌بینین.

l: خط اول هیدر که مربوط به uptime و load average هست محو میشه.

t: خط دوم و سوم که مربوط به task و cpu هست رو محو می‌کنه.

m: خط چهارم و پنجم که مربوط به mem و swap هست رو محو می‌کنه.

1: جزئیات مصرف cpu رو به ازای هر هسته cpu نشون میده.

c: با زدن cدستور کاملی که برای اجرای هر pid مورد استفاده قرار گرفته رو نشون میده.

قبل از زدن c

 

بعد از زدن c

ترتیب کردن ستون‌ها

برای ترتیب کردن ستون‌ها از دکمه‌های زیر استفاده کنین

مثلا اگر می‌خواین بر اساس مقدار مصرف cpu ببینین از P استفاده کنین.

اگر می‌خواین بر اساس ستونی مرتب (sort) کنین که در بالا نیست با دکمه های >و <می‌تونین ستونی که sort می‌شه رو به چپ و راست حرکت بدین. یا از کلید F استفاده کنین و ستون مورد نظرتون رو انتخاب کنین.

تعیین محتویات داخل ستون به وسیله f

برای این‌کار از fاستفاده کنین. سپس به یک صفحه وارد می‌شین که در اون‌جا به هر ستون یک حرف انگلیسی اختصاص داده شده مثلا به pid حرف a اختصاص داده شده. شما با فشردن دکمه حرف مربوط به هر ستون می‌تونین اون ستون رو انتخاب کنین که کنارش یک ستاره میاد.

مثلا در زیر از PID تا  TIME+ انتخاب شده:

ترتیب قرار گرفتن ستون‌ها به‌وسیله o

اول oرو بزنین بعد به یک صفحه شبیه به صفحه زیر می‌رین که مثل بالا که گفته شد به هر ستون یک حرف اختصاص داده شده واگر می‌خواین ستون مورد نظرتون به سمت چپ برود حرف مربوط به اون ستون رو به صورت بزرگ (Upper case) بزنین و اگر می‌خواین به سمت راست حرکتش بدین به صورت حرف کوچک (Lower case) بزنین.

ذخیره تغییرات انجام شده به وسیله W

اگر تغییراتی مثل تغییر در هیدر یا تغییرات در ستون مثل ترتیب ستون‌ها، اولویت‌ها و… انجام دادین  با زدن Wتغییرات‌ ذخیره می‌شود ودفعه بعد که top رو اجرا کنین به همون شکل قبل اجرا می‌شود.

دستور دیگری به اسم htop هست که بسیار شبیه به top هست و کار با اون آسون‌تر هم هست و از ماوس هم بهره می‌بره و شخصی‌سازی اون به راحتی قابل انجام است.

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

لطفا به این مطلب نظر دهید