ین دستور در ترمینال به شما نشون می ده چه برنامه هایی در حال اجرا هستند و چه مقدار cpu و حافظه رو درگیر می کنند . همچنین نشون می ده برنامه ی در حال اجرا از طرف کدوم کاربر اجرا شده به همراه کلی اطلاعات دیگر
شکل کلی خروجی دستور top به این شکل هستش
دستور top به صورت پیش فرض بر اساس مقدار مصرف cpu پروسس هارو نشون میده اگه میخاین که بر اساس مقدار مصرف مموری نشون بده M ((ام بزرگ )) در حالتی که top در حال اجرا هست رو بزنین
kill کردن یک پروسس
برای این که یک پروسس رو از بین ببرین در حالتی که top در حال اجرا هست دکمه k رو بزنین ((k کوچک)) و عدد pid مربوط به اون پروسس رو بنویسین
کد:
PID to kill: 1309
Kill PID 1309 with signal [15]:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent
1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
5136 root 16 0 38040 14m 9836 S 0 0.2 0:00.39 nautilus
نشون دادن پروسس های مربوط به یک user
اگه میخاین که top فقط پروسس های مربوط به یک user خاص رو نشون بده از u- استفاده کنین
مثلا در اینجا پروسس مربوط به کاربر geek
کد:
$ top -u geek
Which user (blank for all): geek
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent
1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
نشون دادن تمام cpu ها و هسته های cpu
خروجی دستور top به صورت پیش فرض اطلاعات cpu رو در ترکیب باهم به صورت زیر نشون میده
کد:
top - 20:10:39 up 40 days, 23:02, 1 user, load average: 4.97, 2.01, 1.25
Tasks: 310 total, 1 running, 309 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.5%us, 0.7%sy, 0.0%ni, 92.3%id, 6.4%wa, 0.0%hi, 0.0%si, 0.0%st
اگه میخاین که اطلاعات رو به صورت کامل و به اضای هر هسته cpu ببینین در موقعی که top در حال اجرا هست عدد 1 رو بزنین
کد:
top - 20:10:07 up 40 days, 23:03, 1 user, load average: 5.32, 2.38, 1.39
Tasks: 341 total, 3 running, 337 sleeping, 0 stopped, 1 zombie
Cpu0 : 7.7%us, 1.7%sy, 0.0%ni, 79.5%id, 11.1%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.3%us, 0.0%sy, 0.0%ni, 94.9%id, 4.7%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 3.3%us, 0.7%sy, 0.0%ni, 55.7%id, 40.3%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 5.0%us, 1.0%sy, 0.0%ni, 86.2%id, 7.4%wa, 0.0%hi, 0.3%si, 0.0%st
Cpu4 : 38.5%us, 5.4%sy, 0.3%ni, 0.0%id, 54.8%wa, 0.0%hi, 1.0%si, 0.0%st
Cpu5 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu6 : 0.3%us, 0.7%sy, 0.0%ni, 97.3%id, 1.7%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu7 : 5.4%us, 4.4%sy, 0.0%ni, 82.6%id, 7.7%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu8 : 1.7%us, 1.7%sy, 0.0%ni, 72.8%id, 23.8%wa, 0.0%hi, 0.0%si, 0.0%st
بروز شدن خروجی top
خروجی دستور top به صورت پیشفرض هر 3 ثانیه بروز میشه که اگه میخاین این مدت رو مثلا به یک ثانیه تغییر بدین در موقعی که دستور top در حال اجرا هست دکمه d رو بزنین
کد:
Change delay from 3.0 to: 1
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 2032 704 612 S 0 0.3 0:01.78 init
2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
بسته شدن top بعد از نشون دادن تعداد خاصی خروجی
برای این کار از n- استفاده کنین
در زیر top بعد از 2 بار بروز شدن بسته میشه
نشون دادن دستور کامل هر پروسس
هر پروسسی که ایجاد میشه قبلش یک دستور زده شده مثلا همین top که بعد از زدن دستورش پروسسش ایجاد میشه در داخل خروجی خودش دستورشو به اینشکل نشون میده
به زیر COMMAND توجه کنین
کد:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1100 root 20 0 2332 1140 900 R 0 0.4 0:00.06 top
مثال دیگه
کد:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 /usr/sbin/gagent
1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 /usr/sbin/gagent -l 0 -u pre
دستور top در حالت Batch Mode
فرق این حالت با حالت معمولی top اینه که هر بار top به روز میشه اطلاعات جدید زیر اطلاعات قبلی مینویسه
مثلا در زیر top بعد از 3 بار به روز شدن در حالت batch mode بسته میشه
کد:
root@debian:/# top -b -n 3 -u tia
top - 13:55:26 up 58 min, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 78 total, 1 running, 77 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.8%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 254672k total, 67884k used, 186788k free, 9432k buffers
Swap: 308216k total, 0k used, 308216k free, 34232k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1118 tia 20 0 8476 1492 860 S 0 0.6 0:00.01 sshd
1119 tia 20 0 4484 1728 1404 S 0 0.7 0:00.00 bash
1128 tia 20 0 8052 3608 2568 S 0 1.4 0:00.02 w3m
top - 13:55:29 up 58 min, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 78 total, 1 running, 77 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 254672k total, 67884k used, 186788k free, 9432k buffers
Swap: 308216k total, 0k used, 308216k free, 34232k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1118 tia 20 0 8476 1492 860 S 0 0.6 0:00.01 sshd
1119 tia 20 0 4484 1728 1404 S 0 0.7 0:00.00 bash
1128 tia 20 0 8052 3608 2568 S 0 1.4 0:00.02 w3m
top - 13:55:32 up 58 min, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 78 total, 1 running, 77 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 254672k total, 67884k used, 186788k free, 9436k buffers
Swap: 308216k total, 0k used, 308216k free, 34232k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1118 tia 20 0 8476 1492 860 S 0 0.6 0:00.01 sshd
1119 tia 20 0 4484 1728 1404 S 0 0.7 0:00.00 bash
1128 tia 20 0 8052 3608 2568 S 0 1.4 0:00.02 w3m
root@debian:/#
روش بالا بیشتر برای ذخیره کردن خروجی دستور top در یک فایل متنی استفاده میشه با برای grep کردنش
هدر top
در موقعی که top در حال اجرا هست اگه
l ((ال کوچک )) بزنین خط اول هدر مربوط به load average ناپدید میشه
t بزنین خط 2م و 3م هدر مربوط به Tasks: و Cpu(s) ناپدید میشه
m بزنین 2 خط اخر هدر مربوط به مموری ناپدید میشه
کاهش دادن تعداد پروسس در خروجی top
در حالتی که top در حال اجرا هست n رو بزنین بعد از شما تعداد پروسس رو میپرسه
کد:
Maximum tasks = 0, change to (0 is unlimited): 2
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1309 geek 23 0 2483m 1.7g 27m S 0 21.8 45:31.32 gagent
1882 geek 25 0 2485m 1.7g 26m S 0 21.7 22:38.97 gagent
در اخر هم برای بستن top در حالت اجرا از دکمه q ((کیو کوچک)) استفاده کنین
منبع: Can You Top This? 15 Practical Linux Top Command Examples
چند مثال دیگه تو منبع هست که نگفتم
نرم افزار دیگه ای هم هست که همین کار top رو انجام میده ولی یک مقدار فرق داره
اسم نرم افزار: htop
Htop - ویکیپدیا
منبع : Can You Top This? 15 Practical Linux Top Command Examples