دستور top در لینوکس پروسس های در حال اجرا بر روی سیستم را نشان می دهد و یکی از مهم ترین ابزار برای یک ادمین سیستم می باشد. top به طور گسترده برای مانیتورینگ Load برروی یک سرور استفاده می شود. در این مقاله ما دستور top را با جزئیات بیشتری توضیح میدهیم. دستور top یک دستور تعاملی می باشد. بسیاری از دستورات هنگامیکه دستور top در حال اجرا می باشد در دسترس هستند. ما این دستور را به خوبی توضیح خواهیم داد.
همچنین توصیه میشود مطالعه کنید :
دستورات top در linux به همراه 12 مثال عملی
دستور top در لینوکس به همراه 30 مثال عملی
دستور top برای پیدا کردن 15 پروسسی (Process) که Memory بیشتری مصرف میکنند
دستور قدرتمند htop در لینوکس برای مانیتور کردن منابع (به زودی)
دستور Glances برای مانیتورینگ Real Time پیشرفته در لینوکس
1. خروجی دستور Top
اول از همه بیایید بفهمیم که خروجی چه می گوید. دستور Top بسیاری از اطلاعات را درباره ی سیستم در حال اجرا نشان می دهد. اما ما نیاز داریم معنی بخش های مختلف خروجی را بفهمیم. به صورت پیش فرض دستور top خروجی اش شبیه زیر را نمایش می دهد :
چند خط اول افقی در مورد پارامتر های مختلف سیستم هستند، و زیر آنها پروسس ها و صفات آنها در ستون ها نمایش داده شده اند.
1.1 Uptime و Load Averages :
در بالای دستور top خروجی ای شبیه به خروجی دستور uptime نشان داده می شود.
فیلدها به صورت نشان داده شده اند :
قسمت uptime می تواند با استفاده از دستور ‘l’ جابجا شود.
1.2 Tasks :
دومین خط خلاصه ای از Task ها یا Process ها را نمایش میدهد. Process ها میتوانند در حالت های متفاوتی باشند. این دستور تعداد کل Process ها را نمایش میدهد. به غیر از این، Process ها میتوانند اجرا، تاخیر (sleep)، متوقف، یا در حالت zombie (یکی از وضعیت های یک Process) باشند. این آمارهای یک Process را میتوان با استفاده از دستور "t" جابه جا کرد.
1.3 وضعیت های CPU :
خط بعدی وضعیت CPU را نشان میدهد. در اینجا درصدی % از زمان CPU در وضعیت های متفاوت نشان داده شده است. معنی زمان های متفاوت CPU به صورت زیر است:
این مورد نیز میتواند با دستور ‘t’ جابجا شود.
1.4 مصرف حافظه :
دو خط بعدی مصرف حافظه را نشان میدهد، مشابه دستور ‘free’ میباشد. اولین خط از این دو برای حافظه ی فیزیکی و دومین خط برای حافظه ی مجازی (فضای swap) می باشد.
حافظه ی فیزیکی با عنوان های زیر نمایش داده شده است:
حافظه ی کل در دسترس، حافظه ی استفاده شده، حافظه ی آزاد، و حافظه ی استفاده شده برای بافرها.
به طور مشابه، swap با عنوان های زیر نمایش داده میشود:
حافظه کل، حافظه استفاده شده، حافظه آزاد و فضای swap کش شده.
حافظه میتواند همچنین با استفاده از دستور ‘m’ جابجا شود.
1.5 فیلدها/ستون ها :
پس از این حالات و وضعیت های افقی سیستم، پروسس ها در ستون ها نشان داده شده اند. ستون های مختلف، خصوصیات متفاوتی دارند که در زیر در مورد آنها بحث خوهیم کرد.
به طور پیش فرض، top این خصوصیات تخصیص شده به پروسس ها را نشان خواهد داد:
PID
شناسه یا ID پروسس، برای شناسایی منحصربفرد پروسس ها.
USER
نام موثر کاربر صاحب پروسس ها.
PR
اولویت زمانبندی پروسس. برخی مقدارها در این فیلد ‘rt’ هستند. به این معنی است که پروسس به صورت real-time در حال اجراست.
NI
مقدار nice هر پروسس. مقدار های کمتر به معنی اولویت بالاتر هستند.
VIRT
مقدار حافظه ی مجازی استفاده شده توسط پروسس.
RES
سایز حافظه resident (حافظه resident در حقیقت میزانی از حافظه فیزیکی غیر swap شده است که یک task در حال استفاده از آن میباشد)
SHR
SHR حافظه ی اشتراکی استفاده شده توسط پروسس است.
S
این وضعیت پروسس است. s می تواند یکی از مقدار های زیر را داشته باشد:
%CPU
در صد زمان CPU که کار بعد از آخرین بروزرسانی استفاده شده است.
%MEM
درصد حافظه ی فیزیکی در دسترس استفاده شده توسط پروسس.
TIME+
کل زمان CPU که کار از زمانیکه شروع شده استفاده شده است، با دقت هزارم یک ثانیه.
COMMAND
دستوری که برای شروع پروسس استفاده شده است.
بسیاری از خروجی های دیگری که به صورت پیش فرض نمایش داده نمی شوند وجود دارند که می توانند اطلاعاتی درباره ی خرابی های صفحه ، تاثیر گروه و شناسه ی گروه پروسس ها و بسیاری موارد دیگر دهند.
2. دستورات تعاملی :
ما قبلا در مورد اینکه دستور top از دستورات تعاملی است بحث کردیم. برخی از این دستورات را ما در آخر هر بخش آشنا شدیم. در اینجا ما این دستورات را بیشتر گسترش خواهیم داد.
2.1 h : Help
اول از همه، شما می توانید کلید ‘h’ و یا ‘?’ را برای نمایش منوی help فشار دهید.
2.2 '<ENTER>' یا '<SPACE>' : تازه کردن نمایش
دستور top به صورت پیش فرض بعد از اینتروال تعریف شده (3 ثانیه) یکبار صفحه را تازه می سازد. برای تازه کردن به صورت دستی کاربر می تواند کلید اینتر و یا کلید فاصله را فشار دهد.
2.3 "A" : تعویض حالت نمایش جایگزین
این دستور بین حالت تمام صفحه و حالت نمایش متناوب جابجا می شود.در حالت نمایش متناوب 4 پنجره در دسترس هستند :
1. Def
2. Job
3. Mem
4. Usr
هرکدام از این 4 گروه فیلد یک ناحیه ی خلاصه قابل تنظیم به صورت جداگانه دارد و آن ناحیه ی قابل تنظیم خودش است. تنها یکی از این 4 پنجره ،پنجره ی کنونی می باشد پنجره ی کنونی در سمت چپ top نشان داده شده است.
شما می توانید بین این چهار پنجره با استفاده از کلید های 'a' و 'w' جابجا شوید. 'a' به صفحه ی بعد و 'w' به صفحه ی قبل حرکت می کند. با دستور 'g' ، شما می توانید یک عدد برای انتخاب پنجره ی کنونی وارد کنید.
2.4 "B" : تعویض صفحه نمایش پر رنگ
برخی اطلاعات مهم به صورت کاراکتر های پررنگ نمایش داده می شوند. این دستور استفاده از bold کردن را نشان میدهد.
2.5 'd' یا 's' : تنظیم اینتروال نمایش زمان
هنگامیکه 'd' یا 's' فشرده شود، از شما برای وارد کردن یک مقدار خواسته خواهد شد که اینتروال نمایش را بر حسب ثانیه وارد خواهید کرد. اگر در اینجا شما '1' را وارد کنید top صفحه را هر 1 ثانیه یکبار تازه خواهد کرد.
2.6 دستورات 'l'، 't'، 'm' : به منظور جابه جا کردن Load, Task, Memory Info
این دستورها به ترتیب load avarage، وضعیت task/cpu و memory info را جا به جا خواهند کرد.
2.7 'f' : فیلد مدیریت
این برای انتخاب فیلدی که شما می خواهید بر روی خروجی صفحه نمایش داده شود استفاده می شود. فیلدهای دارای * انتخاب شده هستند.
'<' و '>'
دستور '<' فیلد مرتب شده را به سمت چپ و '>' به سمت راست حرکت می دهد.
2.8 'R' : مرتب کردن معکوس
تعویض بین مرتب کردن معکوس/عادی
2.9 'c' : دستور تغییر وضعیت
تغییر وضعیت بین مسیر کامل پروسس شروع شده و نام برنامه می باشد.
2.10 'i' : وظایف بیکار
تغییر به وضعیت idle.
2.11 'V' : نمایش درختی
با این دستور به mode نمایش درختی یا اصطلاحا Forest سوییچ میکنیم.
2.12 'Z' : تغییر رنگ نقشه
با فشردن کلید 'Z' کاربر به یک صفحه که نمایش رنگ می تواند تغییر داده شود هدایت می شود. 8 ناحیه ی وظیفه برای انتخاب از بین 8 رنگ وجود دارد.
صفحه ی زیر نمایش تمام رنگی top را با تمام 4 صفحه آن نشان می دهد.
2.13 'z' : تعویض رنگ
تعویض کردن رنگ. روشن و یا خاموش کردن صفحه ی رنگی.
2.14 'x' یا 'y'
مقادیر highlight را جا به جا میکند در حقیقت x برای چیدن فیلد و y برای task های در حال اجرا مورد استفاده قرار میگیرد. با توجه به تنظیمات نمایشگر شما ممکن است بخواهید خروجی را به منظور توجه بیشتر روی این highlight ها رنگی کنید.
2.15 'u' : پروسس های یک کاربر
نمایش پروسس های یک کاربر خاص . از شما برای وارد کردن نام کاربری پرسیده می شود. خالی تمام کابران را نشان می دهد.
2.16 'n' یا '#' : تعداد وظایف
تنظیم تعداد ماکزیمم وظایف نمایش داده شده.
2.17 'k': Kill کردن وظایف
یکی از دستورات مهم top می باشد. برای ارسال سیگنال به وظایف (معمولا kill کردن) بکار می رود.
2.18 'r': Renice
Renice یک وظیفه برای تغییر اولویت زمانبندی
3. آپشن ها ی خط فرمان :
بیشتر این آپشن های خط فرمان شبیه به موارد بحث شده در بالا می باشد. خروجی Top می تواند با دستورات تعاملی دستکاری شود. اما شما می توانید top را با برخی پارامترها به راحتی شروع کنید.
3.1 -b : حالت Batch
آپشن -b دستور top را در مد batch استارت میکند. که مواقعی که میخواهید خروجی را در یک فایل ذخیره کنید برایتان مفید خواهد بود.
3.2 -c : جابجایی بین دستور/ نام برنامه
همانطور که در دستورات بالا بحث شد، این آپشن از آخرین وضعیت پیشنهادی بین نمایش دستور و نام برنامه جابجا خواهد شد.
3.3 -d : تنظیم اینتروال تاخیر
اینتروال تاخیر را برای top تنظیم کنید. (برحسب ثانیه) به عنوان مثال:
دستور top را با تاخیر یک ثانیه شروع خواهد کرد.
3.4 -i : تغییر وضعیت به پروسس های بیکار
این آپشن دستور top را به وضعیت معکوس ‘I’ تنظیم می کند.
3.5 -n : تنظیم تعداد تکرار
با آپشن -n، شما می توانید تعداد تکرار تازمانی که top پایان یابد تعیین کنید.
Top به صورت اتوماتیک بعد از 3 خروجی خارج خواهد شد.
3.6 -p : مانیتور کردن PID های بخصوص
شما می توانید PIDی خاصی که می خواهید آنرا مانیتور کنید را با استفاده از گزینه ی -p مشخص کنید. . PID با مقدار 0 به عنوان ID پروسس دستور top رفتارخواهد کرد.
3.7 -u یا -U : نام کاربری یا UID
پروسس یک کاربر بخصوص می تواند با استفاده از این گزینه ها نمایش داده شود. نام کاربری و یا UID می تواند با این آپشن مشخص شود. آپشن های -p و -u و -U منحصر به فرد بوده و در حقیقت در یک زمان از 2 آپشن همزمان نمیتوان استفاده کرد. و در صورت استفاده همزمان از 2 دستور Error دریافت خواهید کرد.
همچنین توصیه میشود مقالات زیر را هم مطالعه کنید :
دستور nmon در لینوکس برای مانیتور کردن ram ،cpu ،disk ،network ،nfs ،file system ،kernel
نحوه نصب Iotop در RHEL - CentOS و Fedora برای مانیتور کردن I/O هارد دیسک
ابزار iftop (مانیتورینگ پهنای باند) در سیستم های RHEL / CentOS / Fedora
دستور ps در لینوکس برای مانیتور کردن پروسس ها
اگر شما تکنیک های دیگری میشناسید خوشحال میشویم در بخش نظرات آنرا با ما به اشتراک بگذارید.
همچنین توصیه میشود مطالعه کنید :
دستورات top در linux به همراه 12 مثال عملی
دستور top در لینوکس به همراه 30 مثال عملی
دستور top برای پیدا کردن 15 پروسسی (Process) که Memory بیشتری مصرف میکنند
دستور قدرتمند htop در لینوکس برای مانیتور کردن منابع (به زودی)
دستور Glances برای مانیتورینگ Real Time پیشرفته در لینوکس
1. خروجی دستور Top
اول از همه بیایید بفهمیم که خروجی چه می گوید. دستور Top بسیاری از اطلاعات را درباره ی سیستم در حال اجرا نشان می دهد. اما ما نیاز داریم معنی بخش های مختلف خروجی را بفهمیم. به صورت پیش فرض دستور top خروجی اش شبیه زیر را نمایش می دهد :
کد PHP:
[root@callcenter ~]# top
top - 13:21:26 up 4 days, 22:05, 1 user, load average: 0.47, 0.63, 0.61
Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 10127620k total, 648240k used, 9479380k free, 196716k buffers
Swap: 5242876k total, 0k used, 5242876k free, 168552k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19 root 20 0 0 0 0 S 5.6 0.0 423:20.75 events/0
23315 root 20 0 2632m 41m 11m S 0.3 0.4 8:55.52 asterisk
1 root 20 0 19232 1500 1224 S 0.0 0.0 0:01.46 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:05.91 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:08.76 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:01.26 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:02.05 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/1
9 root 20 0 0 0 0 S 0.0 0.0 0:01.22 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 0:00.57 watchdog/1
11 root RT 0 0 0 0 S 0.0 0.0 0:04.99 migration/2
12 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/2
13 root 20 0 0 0 0 S 0.0 0.0 0:00.48 ksoftirqd/2
14 root RT 0 0 0 0 S 0.0 0.0 0:00.59 watchdog/2
15 root RT 0 0 0 0 S 0.0 0.0 0:09.67 migration/3
[root@callcenter ~]#
1.1 Uptime و Load Averages :
کد PHP:
top - 13:21:26 up 4 days, 22:05, 1 user, load average: 0.47, 0.63, 0.61
فیلدها به صورت نشان داده شده اند :
- زمان کنونی.
- مدت زمانی که سیستم شما بالاست.
- تعداد کاربران لاگین شده به سرور.
- متوسط بار به ترتیب برای 5، 10 و 15 دقیقه قبل.
قسمت uptime می تواند با استفاده از دستور ‘l’ جابجا شود.
1.2 Tasks :
کد PHP:
Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
1.3 وضعیت های CPU :
کد PHP:
Cpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
- us = user : زمان CPU در مورد پروسس های کاربر (un-niced) که در حال اجرا هستند.
- sy = system : زمان CPU در مورد پروسس های کرنل که در حال اجرا هستند.
- ni = niced : زمان CPU در مورد پروسس های کاربر niced که در حال اجرا هستند.
- wa = IO wait : زمانی که CPU منتظر کامل شدن IO می باشد.
- hi : ساعت CPU به هنگام Interrupt های سخت افزاری
- si : ساعت CPU به هنگام Interrupt های نرم افزاری
- st : زمانیکه CPU برای vm توسط hypervisor آن استفاده شده است.
این مورد نیز میتواند با دستور ‘t’ جابجا شود.
1.4 مصرف حافظه :
کد PHP:
Mem: 10127620k total, 648240k used, 9479380k free, 196716k buffers
Swap: 5242876k total, 0k used, 5242876k free, 168552k cached
حافظه ی فیزیکی با عنوان های زیر نمایش داده شده است:
حافظه ی کل در دسترس، حافظه ی استفاده شده، حافظه ی آزاد، و حافظه ی استفاده شده برای بافرها.
به طور مشابه، swap با عنوان های زیر نمایش داده میشود:
حافظه کل، حافظه استفاده شده، حافظه آزاد و فضای swap کش شده.
حافظه میتواند همچنین با استفاده از دستور ‘m’ جابجا شود.
1.5 فیلدها/ستون ها :
کد PHP:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19 root 20 0 0 0 0 S 5.6 0.0 423:20.75 events/0
23315 root 20 0 2632m 41m 11m S 0.3 0.4 8:55.52 asterisk
1 root 20 0 19232 1500 1224 S 0.0 0.0 0:01.46 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:05.91 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:08.76 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:01.26 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:02.05 migration/1
به طور پیش فرض، top این خصوصیات تخصیص شده به پروسس ها را نشان خواهد داد:
PID
شناسه یا ID پروسس، برای شناسایی منحصربفرد پروسس ها.
USER
نام موثر کاربر صاحب پروسس ها.
PR
اولویت زمانبندی پروسس. برخی مقدارها در این فیلد ‘rt’ هستند. به این معنی است که پروسس به صورت real-time در حال اجراست.
NI
مقدار nice هر پروسس. مقدار های کمتر به معنی اولویت بالاتر هستند.
VIRT
مقدار حافظه ی مجازی استفاده شده توسط پروسس.
RES
سایز حافظه resident (حافظه resident در حقیقت میزانی از حافظه فیزیکی غیر swap شده است که یک task در حال استفاده از آن میباشد)
SHR
SHR حافظه ی اشتراکی استفاده شده توسط پروسس است.
S
این وضعیت پروسس است. s می تواند یکی از مقدار های زیر را داشته باشد:
- D – خواب اضطراری
- R – در حال اجرا
- S – در حال خواب
- T – ردیابی شده و یا متوقف شده
- Z – زامبی
%CPU
در صد زمان CPU که کار بعد از آخرین بروزرسانی استفاده شده است.
%MEM
درصد حافظه ی فیزیکی در دسترس استفاده شده توسط پروسس.
TIME+
کل زمان CPU که کار از زمانیکه شروع شده استفاده شده است، با دقت هزارم یک ثانیه.
COMMAND
دستوری که برای شروع پروسس استفاده شده است.
بسیاری از خروجی های دیگری که به صورت پیش فرض نمایش داده نمی شوند وجود دارند که می توانند اطلاعاتی درباره ی خرابی های صفحه ، تاثیر گروه و شناسه ی گروه پروسس ها و بسیاری موارد دیگر دهند.
2. دستورات تعاملی :
ما قبلا در مورد اینکه دستور top از دستورات تعاملی است بحث کردیم. برخی از این دستورات را ما در آخر هر بخش آشنا شدیم. در اینجا ما این دستورات را بیشتر گسترش خواهیم داد.
2.1 h : Help
اول از همه، شما می توانید کلید ‘h’ و یا ‘?’ را برای نمایش منوی help فشار دهید.
کد PHP:
Help for Interactive Commands - procps version 3.2.8
Window 1:Def: Cumulative mode Off. System: Delay 3.0 secs; Secure mode Off.
Z,B Global: 'Z' change color mappings; 'B' disable/enable bold
l,t,m Toggle Summaries: 'l' load avg; 't' task/cpu stats; 'm' mem info
1,I Toggle SMP view: '1' single/separate states; 'I' Irix/Solaris mode
f,o . Fields/Columns: 'f' add or remove; 'o' change display order
F or O . Select sort field
<,> . Move sort field: '<' next col left; '>' next col right
R,H . Toggle: 'R' normal/reverse sort; 'H' show threads
c,i,S . Toggle: 'c' cmd name/line; 'i' idle tasks; 'S' cumulative time
x,y . Toggle highlights: 'x' sort field; 'y' running tasks
z,b . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
u . Show specific user only
n or # . Set maximum tasks displayed
k,r Manipulate tasks: 'k' kill; 'r' renice
d or s Set update interval
W Write configuration file
q Quit
( commands shown with '.' require a visible task display window )
Press 'h' or '?' for help with Windows,
any other key to continue
2.2 '<ENTER>' یا '<SPACE>' : تازه کردن نمایش
دستور top به صورت پیش فرض بعد از اینتروال تعریف شده (3 ثانیه) یکبار صفحه را تازه می سازد. برای تازه کردن به صورت دستی کاربر می تواند کلید اینتر و یا کلید فاصله را فشار دهد.
2.3 "A" : تعویض حالت نمایش جایگزین
این دستور بین حالت تمام صفحه و حالت نمایش متناوب جابجا می شود.در حالت نمایش متناوب 4 پنجره در دسترس هستند :
1. Def
2. Job
3. Mem
4. Usr
هرکدام از این 4 گروه فیلد یک ناحیه ی خلاصه قابل تنظیم به صورت جداگانه دارد و آن ناحیه ی قابل تنظیم خودش است. تنها یکی از این 4 پنجره ،پنجره ی کنونی می باشد پنجره ی کنونی در سمت چپ top نشان داده شده است.
کد PHP:
1:Def - 16:06:06 up 5 days, 50 min, 1 user, load average: 0.57, 0.44, 0.48
Tasks: 159 total, 2 running, 157 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 1.7%sy, 0.0%ni, 98.2%id, 0.0%wa, 0.1%hi, 0.0%si, 0.0%st
Mem: 10127620k total, 650968k used, 9476652k free, 198360k buffers
Swap: 5242876k total, 0k used, 5242876k free, 168608k cached
1 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19 root 20 0 0 0 0 R 6.0 0.0 433:10.19 events/0
8945 root 20 0 15024 1352 988 R 0.3 0.0 0:00.99 top
1 root 20 0 19232 1500 1224 S 0.0 0.0 0:01.46 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:05.93 migration/0
2 PID PPID TIME+ %CPU %MEM PR NI S VIRT SWAP RES UID COMMAND
23315 23313 9:42.02 0.0 0.4 20 0 S 2632m 0 41m 0 asterisk
23313 1 0:00.00 0.0 0.0 20 0 S 105m 0 760 0 safe_asterisk
8945 8006 0:00.99 0.3 0.0 20 0 R 15024 0 1352 0 top
8934 2 0:00.00 0.0 0.0 20 0 S 0 0 0 0 flush-147:0
8749 1422 0:00.00 0.0 0.0 20 0 S 81524 0 3560 89 pickup
3 PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
2222 0.5 696m 0 45m 8616 635m 6412 83 0 S 20 0 0.0 mysqld
23315 0.4 2632m 0 41m 2096 2.0g 11m 0 0 S 20 0 0.0 asterisk
2671 0.2 351m 0 15m 336 6596 8452 146 0 S 20 0 0.0 httpd
8294 0.1 351m 0 8080 336 6596 688 0 0 S 20 0 0.0 httpd
8301 0.1 351m 0 8064 336 6596 672 0 0 S 20 0 0.0 httpd
8300 0.1 351m 0 8064 336 6596 672 0 0 S 20 0 0.0 httpd
4 PID PPID UID USER RUSER TTY TIME+ %CPU %MEM S COMMAND
3704 3699 497 zabbix zabbix ? 2:54.79 0.0 0.0 S zabbix_agentd
3703 3699 497 zabbix zabbix ? 2:53.41 0.0 0.0 S zabbix_agentd
3702 3699 497 zabbix zabbix ? 2:53.91 0.0 0.0 S zabbix_agentd
3705 3699 497 zabbix zabbix ? 0:22.53 0.0 0.0 S zabbix_agentd
3701 3699 497 zabbix zabbix ? 1:58.21 0.0 0.0 S zabbix_agentd
3699 1 497 zabbix zabbix ? 0:00.00 0.0 0.0 S zabbix_agentda
کد PHP:
3:Mem - 16:10:11 up 5 days, 54 min, 1 user, load average: 0.62, 0.50, 0.50
Tasks: 158 total, 1 running, 157 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 2.5%sy, 0.0%ni, 97.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 10127620k total, 650720k used, 9476900k free, 198384k buffers
Swap: 5242876k total, 0k used, 5242876k free, 168608k cached
1 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19 root 20 0 0 0 0 S 6.0 0.0 433:24.83 events/0
3703 zabbix 20 0 81476 2420 1488 S 0.3 0.0 2:53.46 zabbix_agentd
8945 root 20 0 15024 1352 988 R 0.3 0.0 0:02.02 top
23315 root 20 0 2632m 41m 11m S 0.3 0.4 9:42.50 asterisk
1 root 20 0 19232 1500 1224 S 0.0 0.0 0:01.46 init
2 PID PPID TIME+ %CPU %MEM PR NI S VIRT SWAP RES UID COMMAND
23315 23313 9:42.50 0.3 0.4 20 0 S 2632m 0 41m 0 asterisk
23313 1 0:00.00 0.0 0.0 20 0 S 105m 0 760 0 safe_asterisk
8945 8006 0:02.02 0.3 0.0 20 0 R 15024 0 1352 0 top
8749 1422 0:00.01 0.0 0.0 20 0 S 81524 0 3560 89 pickup
8301 2671 0:00.00 0.0 0.1 20 0 S 351m 0 8064 48 httpd
3 PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
2222 0.5 696m 0 45m 8616 635m 6412 83 0 S 20 0 0.0 mysqld
23315 0.4 2632m 0 41m 2096 2.0g 11m 0 0 S 20 0 0.3 asterisk
2671 0.2 351m 0 15m 336 6596 8452 146 0 S 20 0 0.0 httpd
8294 0.1 351m 0 8080 336 6596 688 0 0 S 20 0 0.0 httpd
8301 0.1 351m 0 8064 336 6596 672 0 0 S 20 0 0.0 httpd
8300 0.1 351m 0 8064 336 6596 672 0 0 S 20 0 0.0 httpd
4 PID PPID UID USER RUSER TTY TIME+ %CPU %MEM S COMMAND
3704 3699 497 zabbix zabbix ? 2:54.84 0.0 0.0 S zabbix_agentd
3703 3699 497 zabbix zabbix ? 2:53.46 0.3 0.0 S zabbix_agentd
3702 3699 497 zabbix zabbix ? 2:53.96 0.0 0.0 S zabbix_agentd
2.4 "B" : تعویض صفحه نمایش پر رنگ
برخی اطلاعات مهم به صورت کاراکتر های پررنگ نمایش داده می شوند. این دستور استفاده از bold کردن را نشان میدهد.
کد PHP:
top - 16:12:44 up 5 days, 57 min, 1 user, load average: 0.72, 0.57, 0.52
Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 2.3%sy, 0.0%ni, 97.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 10127620k total, 650720k used, 9476900k free, 198400k buffers
Swap: 5242876k total, 0k used, 5242876k free, 168612k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19 root 20 0 0 0 0 S 6.3 0.0 433:33.94 events/0
23315 root 20 0 2632m 41m 11m S 0.7 0.4 9:42.84 asterisk
9045 root 20 0 15024 1348 988 R 0.3 0.0 0:00.08 top
1 root 20 0 19232 1500 1224 S 0.0 0.0 0:01.46 init
2.5 'd' یا 's' : تنظیم اینتروال نمایش زمان
هنگامیکه 'd' یا 's' فشرده شود، از شما برای وارد کردن یک مقدار خواسته خواهد شد که اینتروال نمایش را بر حسب ثانیه وارد خواهید کرد. اگر در اینجا شما '1' را وارد کنید top صفحه را هر 1 ثانیه یکبار تازه خواهد کرد.
کد PHP:
top - 16:12:44 up 5 days, 57 min, 1 user, load average: 0.72, 0.57, 0.52
Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 2.3%sy, 0.0%ni, 97.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 10127620k total, 650720k used, 9476900k free, 198400k buffers
Swap: 5242876k total, 0k used, 5242876k free, 168612k cached
Change delay from 3.0 to: 1
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2.6 دستورات 'l'، 't'، 'm' : به منظور جابه جا کردن Load, Task, Memory Info
این دستورها به ترتیب load avarage، وضعیت task/cpu و memory info را جا به جا خواهند کرد.
کد PHP:
top - 16:22:00 up 5 days, 1:06, 1 user, load average: 0.53, 0.64, 0.59
Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 2.6%sy, 0.0%ni, 97.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19 root 20 0 0 0 0 S 6.0 0.0 434:07.14 events/0
20 root 20 0 0 0 0 S 0.3 0.0 4:38.72 events/1
9094 root 20 0 15024 1348 988 R 0.3 0.0 0:00.33 top
23315 root 20 0 2632m 41m 11m S 0.3 0.4 9:44.06 asterisk
1 root 20 0 19232 1500 1224 S 0.0 0.0 0:01.46 init
کد PHP:
top - 16:24:33 up 5 days, 1:08, 1 user, load average: 0.25, 0.47, 0.54
Mem: 10127620k total, 650968k used, 9476652k free, 198520k buffers
Swap: 5242876k total, 0k used, 5242876k free, 168612k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19 root 20 0 0 0 0 S 5.6 0.0 434:16.16 events/0
9094 root 20 0 15024 1348 988 R 0.7 0.0 0:00.70 top
1 root 20 0 19232 1500 1224 S 0.0 0.0 0:01.46 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
کد PHP:
Tasks: 162 total, 2 running, 160 sleeping, 0 stopped, 0 zombie
Cpu(s): 13.3%us, 16.2%sy, 0.0%ni, 67.2%id, 3.0%wa, 0.2%hi, 0.2%si, 0.0%st
Mem: 10127620k total, 1202388k used, 8925232k free, 237316k buffers
Swap: 5242876k total, 0k used, 5242876k free, 630324k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9861 root 20 0 53728 3596 2528 R 99.7 0.0 13:36.93 sipp
23315 root 20 0 2661m 52m 11m S 15.3 0.5 11:58.09 asterisk
19 root 20 0 0 0 0 S 5.7 0.0 436:27.81 events/0
1134 root 20 0 0 0 0 S 1.0 0.0 0:34.47 drbd0_worker
2222 mysql 20 0 696m 49m 6412 S 1.0 0.5 5:41.55 mysqld
1170 root -3 0 0 0 0 S 0.7 0.0 0:36.08 drbd0_asender
1156 root 20 0 0 0 0 S 0.3 0.0 0:19.42 drbd0_receiver
1927 root 20 0 0 0 0 S 0.3 0.0 0:14.78 kjournald
26228 root 20 0 15024 1352 988 R 0.3 0.0 0:00.02 top
1 root 20 0 19232 1500 1224 S 0.0 0.0 0:01.46 init
2.7 'f' : فیلد مدیریت
این برای انتخاب فیلدی که شما می خواهید بر روی خروجی صفحه نمایش داده شود استفاده می شود. فیلدهای دارای * انتخاب شده هستند.
کد PHP:
Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def
Toggle fields via field letter, type any other key to return
* A: PID = Process Id 0x00000002 PF_STARTING
* E: USER = User Name 0x00000004 PF_EXITING
* H: PR = Priority 0x00000040 PF_FORKNOEXEC
* I: NI = Nice value 0x00000100 PF_SUPERPRIV
* O: VIRT = Virtual Image (kb) 0x00000200 PF_DUMPCORE
* Q: RES = Resident size (kb) 0x00000400 PF_SIGNALED
* T: SHR = Shared Mem size (kb) 0x00000800 PF_MEMALLOC
* W: S = Process Status 0x00002000 PF_FREE_PAGES (2.5)
* K: %CPU = CPU usage 0x00008000 debug flag (2.5)
* N: %MEM = Memory usage (RES) 0x00024000 special threads (2.5)
* M: TIME+ = CPU Time, hundredths 0x001D0000 special states (2.5)
b: PPID = Parent Process Pid 0x00100000 PF_USEDFPU (thru 2.4)
c: RUSER = Real user name
d: UID = User Id
f: GROUP = Group Name
g: TTY = Controlling Tty
j: P = Last used cpu (SMP)
p: SWAP = Swapped size (kb)
l: TIME = CPU Time
r: CODE = Code size (kb)
s: DATA = Data+Stack size (kb)
u: nFLT = Page Fault count
v: nDRT = Dirty Pages count
y: WCHAN = Sleeping in Function
z: Flags = Task Flags <sched.h>
* X: COMMAND = Command name/line
Flags field:
0x00000001 PF_ALIGNWARN
'<' و '>'
دستور '<' فیلد مرتب شده را به سمت چپ و '>' به سمت راست حرکت می دهد.
2.8 'R' : مرتب کردن معکوس
تعویض بین مرتب کردن معکوس/عادی
2.9 'c' : دستور تغییر وضعیت
تغییر وضعیت بین مسیر کامل پروسس شروع شده و نام برنامه می باشد.
کد PHP:
Tasks: 162 total, 3 running, 159 sleeping, 0 stopped, 0 zombie
Cpu(s): 13.3%us, 17.2%sy, 0.0%ni, 64.6%id, 4.2%wa, 0.4%hi, 0.3%si, 0.0%st
Mem: 10127620k total, 703252k used, 9424368k free, 201640k buffers
Swap: 5242876k total, 0k used, 5242876k free, 198860k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9861 root 20 0 53728 3580 2528 R 100.0 0.0 0:28.14 ./sipp -sn uac -d 1000
23315 root 20 0 2656m 50m 11m S 24.3 0.5 9:57.20 /usr/sbin/asterisk -f -
19 root 20 0 0 0 0 S 6.0 0.0 435:41.77 [events/0]
1170 root -3 0 0 0 0 S 1.7 0.0 0:29.29 [drbd0_asender]
2222 mysql 20 0 696m 47m 6412 S 1.3 0.5 5:30.90 /usr/libexec/mysqld --b
1134 root 20 0 0 0 0 R 1.0 0.0 0:26.02 [drbd0_worker]
1156 root 20 0 0 0 0 S 0.7 0.0 0:16.17 [drbd0_receiver]
9094 root 20 0 15024 1352 988 R 0.7 0.0 0:03.55 top
1927 root 20 0 0 0 0 S 0.3 0.0 0:11.97 [kjournald]
2.10 'i' : وظایف بیکار
تغییر به وضعیت idle.
کد PHP:
top - 17:04:05 up 5 days, 1:48, 2 users, load average: 2.59, 2.61, 1.98
Tasks: 162 total, 3 running, 159 sleeping, 0 stopped, 0 zombie
Cpu(s): 12.7%us, 18.2%sy, 0.0%ni, 66.4%id, 2.4%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 10127620k total, 1292620k used, 8835000k free, 243736k buffers
Swap: 5242876k total, 0k used, 5242876k free, 707024k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9861 root 20 0 53728 3596 2528 R 99.2 0.0 16:00.22 sipp
1170 root -3 0 0 0 0 R 1.4 0.0 0:37.49 drbd0_asender
1927 root 20 0 0 0 0 D 1.4 0.0 0:15.30 kjournald
26228 root 20 0 15024 1352 988 R 1.4 0.0 0:00.27 top
2.11 'V' : نمایش درختی
با این دستور به mode نمایش درختی یا اصطلاحا Forest سوییچ میکنیم.
2.12 'Z' : تغییر رنگ نقشه
با فشردن کلید 'Z' کاربر به یک صفحه که نمایش رنگ می تواند تغییر داده شود هدایت می شود. 8 ناحیه ی وظیفه برای انتخاب از بین 8 رنگ وجود دارد.
کد PHP:
Help for color mapping - procps version 3.2.8
current window: 1:Def
color - 04:25:44 up 8 days, 50 min, 7 users, load average:
Tasks: 64 total, 2 running, 62 sleeping, 0 stopped,
Cpu(s): 76.5% user, 11.2% system, 0.0% nice, 12.3% idle
Nasty Message! -or- Input Prompt
PID TTY PR NI %CPU TIME+ VIRT SWAP STA Command
17284 pts/2 8 0 0.0 0:00.75 1380 0 S /bin/bash
8601 pts/1 7 -10 0.4 0:00.03 916 0 R < color -b
11005 ? 9 0 0.0 0:02.50 2852 1008 S amor -ses
available toggles: B =disable bold globally (On),
z =color/mono (On), b =tasks "bold"/reverse (On)
Select target as upper case letter:
S = Summary Data, M = Messages/Prompts,
H = Column Heads, T = Task Information
Select color as number:
0 = black, 1 = red, 2 = green, 3 = yellow,
4 = blue, 5 = magenta, 6 = cyan, 7 = white
Selected: target T ; color 1
press 'q' to abort changes to window '1:Def'
press 'a' or 'w' to commit & change another, <Enter> to commit and end
2.13 'z' : تعویض رنگ
تعویض کردن رنگ. روشن و یا خاموش کردن صفحه ی رنگی.
2.14 'x' یا 'y'
مقادیر highlight را جا به جا میکند در حقیقت x برای چیدن فیلد و y برای task های در حال اجرا مورد استفاده قرار میگیرد. با توجه به تنظیمات نمایشگر شما ممکن است بخواهید خروجی را به منظور توجه بیشتر روی این highlight ها رنگی کنید.
2.15 'u' : پروسس های یک کاربر
نمایش پروسس های یک کاربر خاص . از شما برای وارد کردن نام کاربری پرسیده می شود. خالی تمام کابران را نشان می دهد.
کد PHP:
top - 17:24:44 up 5 days, 2:09, 3 users, load average: 0.53, 1.11, 1.68
Tasks: 163 total, 1 running, 162 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.4%sy, 0.0%ni, 99.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 10127620k total, 1665624k used, 8461996k free, 271016k buffers
Swap: 5242876k total, 0k used, 5242876k free, 1034804k cached
Which user (blank for all): root
PID USER PR NI RES SHR VIRT S %CPU %MEM TIME+ COMMAND
19 root 20 0 0 0 0 S 6.1 0.0 437:49.20 events/0
1328 root -2 0 7184 5556 50144 S 0.3 0.1 1:06.27 heartbeat
2222 mysql 20 0 53m 6412 696m S 0.3 0.5 5:52.28 mysqld
7804 root 20 0 1356 988 15024 R 0.3 0.0 0:01.44 top
23315 root 20 0 49m 11m 2658m S 0.3 0.5 13:56.99 asterisk
1 root 20 0 1500 1224 19232 S 0.0 0.0 0:01.46 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:05.94 migration/0
2.16 'n' یا '#' : تعداد وظایف
تنظیم تعداد ماکزیمم وظایف نمایش داده شده.
کد PHP:
top - 17:26:05 up 5 days, 2:10, 3 users, load average: 0.82, 1.05, 1.61
Tasks: 164 total, 2 running, 162 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.5%us, 5.6%sy, 0.0%ni, 91.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 10127620k total, 1668008k used, 8459612k free, 271028k buffers
Swap: 5242876k total, 0k used, 5242876k free, 1034920k cached
Maximum tasks = 0, change to (0 is unlimited):
PID USER PR NI RES SHR VIRT S %CPU %MEM TIME+ COMMAND
9073 root 20 0 3512 2504 53720 R 21.5 0.0 0:02.75 sipp
19 root 20 0 0 0 0 S 6.0 0.0 437:54.03 events/0
23315 root 20 0 51m 11m 2659m S 1.3 0.5 13:57.30 asterisk
20 root 20 0 0 0 0 S 0.1 0.0 4:41.08 events/1
1318 root -2 0 7264 5584 50224 S 0.1 0.1 4:18.40 heartbeat
1325 root -2 0 7188 5556 50148 S 0.1 0.1 0:23.45 heartbeat
3701 zabbix 20 0 1624 820 81356 S 0.1 0.0 1:59.38 zabbix_agentd
7804 root 20 0 1356 988 15024 R 0.1 0.0 0:01.49 top
1 root 20 0 1500 1224 19232 S 0.0 0.0 0:01.46 init
2.17 'k': Kill کردن وظایف
یکی از دستورات مهم top می باشد. برای ارسال سیگنال به وظایف (معمولا kill کردن) بکار می رود.
کد PHP:
top - 17:29:15 up 5 days, 2:13, 3 users, load average: 0.40, 0.75, 1.39
Tasks: 164 total, 2 running, 162 sleeping, 0 stopped, 0 zombie
Cpu(s): 13.2%us, 17.8%sy, 0.0%ni, 65.8%id, 2.9%wa, 0.1%hi, 0.2%si, 0.0%st
Mem: 10127620k total, 1677116k used, 8450504k free, 271636k buffers
Swap: 5242876k total, 0k used, 5242876k free, 1041008k cached
PID to kill: 9260
PID USER PR NI RES SHR VIRT S %CPU %MEM TIME+ COMMAND
9260 root 20 0 3572 2524 53724 R 99.7 0.0 0:06.13 sipp
23315 root 20 0 52m 11m 2659m S 14.0 0.5 13:59.85 asterisk
19 root 20 0 0 0 0 S 5.0 0.0 438:05.24 events/0
1170 root -3 0 0 0 0 S 0.7 0.0 0:42.17 drbd0_asender
2222 mysql 20 0 53m 6412 696m S 0.7 0.5 5:52.62 mysqld
1134 root 20 0 0 0 0 S 0.3 0.0 0:42.35 drbd0_worker
1156 root 20 0 0 0 0 S 0.3 0.0 0:22.49 drbd0_receiver
1927 root 20 0 0 0 0 S 0.3 0.0 0:17.27 kjournald
7804 root 20 0 1356 988 15024 R 0.3 0.0 0:01.54 top
1 root 20 0 1500 1224 19232 S 0.0 0.0 0:01.46 init
2.18 'r': Renice
Renice یک وظیفه برای تغییر اولویت زمانبندی
3. آپشن ها ی خط فرمان :
بیشتر این آپشن های خط فرمان شبیه به موارد بحث شده در بالا می باشد. خروجی Top می تواند با دستورات تعاملی دستکاری شود. اما شما می توانید top را با برخی پارامترها به راحتی شروع کنید.
3.1 -b : حالت Batch
آپشن -b دستور top را در مد batch استارت میکند. که مواقعی که میخواهید خروجی را در یک فایل ذخیره کنید برایتان مفید خواهد بود.
3.2 -c : جابجایی بین دستور/ نام برنامه
همانطور که در دستورات بالا بحث شد، این آپشن از آخرین وضعیت پیشنهادی بین نمایش دستور و نام برنامه جابجا خواهد شد.
3.3 -d : تنظیم اینتروال تاخیر
اینتروال تاخیر را برای top تنظیم کنید. (برحسب ثانیه) به عنوان مثال:
کد PHP:
$ top -d 1
3.4 -i : تغییر وضعیت به پروسس های بیکار
این آپشن دستور top را به وضعیت معکوس ‘I’ تنظیم می کند.
3.5 -n : تنظیم تعداد تکرار
با آپشن -n، شما می توانید تعداد تکرار تازمانی که top پایان یابد تعیین کنید.
کد PHP:
$ top -n 3
3.6 -p : مانیتور کردن PID های بخصوص
شما می توانید PIDی خاصی که می خواهید آنرا مانیتور کنید را با استفاده از گزینه ی -p مشخص کنید. . PID با مقدار 0 به عنوان ID پروسس دستور top رفتارخواهد کرد.
3.7 -u یا -U : نام کاربری یا UID
پروسس یک کاربر بخصوص می تواند با استفاده از این گزینه ها نمایش داده شود. نام کاربری و یا UID می تواند با این آپشن مشخص شود. آپشن های -p و -u و -U منحصر به فرد بوده و در حقیقت در یک زمان از 2 آپشن همزمان نمیتوان استفاده کرد. و در صورت استفاده همزمان از 2 دستور Error دریافت خواهید کرد.
کد PHP:
$ top -p 28453 -u raghu
top: conflicting process selections (U/p/u)
همچنین توصیه میشود مقالات زیر را هم مطالعه کنید :
دستور nmon در لینوکس برای مانیتور کردن ram ،cpu ،disk ،network ،nfs ،file system ،kernel
نحوه نصب Iotop در RHEL - CentOS و Fedora برای مانیتور کردن I/O هارد دیسک
ابزار iftop (مانیتورینگ پهنای باند) در سیستم های RHEL / CentOS / Fedora
دستور ps در لینوکس برای مانیتور کردن پروسس ها
اگر شما تکنیک های دیگری میشناسید خوشحال میشویم در بخش نظرات آنرا با ما به اشتراک بگذارید.