یکی از پرکاربردترین دستورات مانیتورینگ در سرورها می باشد که اغلب مدیران سرورها بی شک ازین دستور استفاده کرده اند.
این دستور تمام proccess های در حال اجرا در سرور را نمایش می دهد و مشخص می کند چه برنامه هایی هم اکنون از ram و cpu سرور استفاده میکنند.
این دستور بعد از اجرا شدن مقادیر زیر را نمایش می دهد:
CPU usage, Memory usage, Swap Memory, Cache Size, Buffer Size, Process PID, User,loadserver,uptime server
شما با استفاده ازین دستور می توانید پروسس هایی که باعث بالا رفتن لود سرور شده اند شناسایی کنید و kill کنید.
$ top [options]
اگر دستور top رو به تنهایی بزنین وارد محیطی میشین که شبیه به زیر هست که هر سه ثانیه اطلاعتش بروز میشود و برای خروج از اون دکمه q رو بزنین یا کلید ترکیبی ctrl+c.
top - 18:38:39 up 5:37, 1 user, load average: 0.44, 0.41, 0.39 Tasks: 225 total, 2 running, 222 sleeping, 0 stopped, 1 zombie Cpu(s): 2.4%us, 2.5%sy, 0.0%ni, 94.8%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4030112k total, 3518960k used, 511152k free, 467348k buffers Swap: 2049044k total, 84864k used, 1964180k free, 1809232k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ۱۲۵۹ root 20 0 169m 42m 16m S 17 1.1 25:34.08 Xorg ۲۳۶۸ aliali 20 0 1368m 200m 45m S 12 5.1 20:06.31 compiz ۸۸۶۳ aliali 20 0 1071m 230m 42m S 5 5.9 19:37.45 firefox ۲۹۱۷ aliali 20 0 528m 30m 10m S 1 0.8 3:54.58 unity-panel-ser ۵۳۵۴ aliali 20 0 672m 37m 15m S 1 1.0 0:17.93 /usr/bin/termin ۲۳۳۷ aliali 20 0 30604 5836 620 S 1 0.1 1:17.44 dbus-daemon ۲۸۷۷ aliali 20 0 412m 11m 7336 S 1 0.3 0:18.94 bamfdaemon ۲۹۱۹ aliali 20 0 554m 13m 3472 S 1 0.4 1:51.43 hud-service ۳۱۸۵۱ aliali 20 0 3353m 229m 195m S 1 5.8 1:06.09 vmware-vmx ۶۲۸ root 20 0 0 0 0 S 0 0.0 0:00.02 kworker/2:0 ۷۷۱ aliali 20 0 17460 1384 956 R 0 0.0 0:01.68 top ۱۴۹۳ root 20 0 160m 4716 2180 S 0 0.1 0:21.99 wicd ۲۴۰۶ aliali 20 0 809m 23m 11m S 0 0.6 0:24.93 python ۲۴۴۱ aliali 20 0 409m 11m 7652 S 0 0.3 1:08.36 indicator-multi ۲۷۴۵ aliali 20 0 355m 13m 9440 S 0 0.3 0:01.76 notify-osd ۲۹۳۵ aliali 20 0 412m 5300 3912 S 0 0.1 0:31.37 indicator-appli ۲۹۱۹۹ aliali 20 0 764m 37m 19m S 0 1.0 0:02.50 pidgin
در خروجی بالا:
خط اول به ترتیب از سمت چپ به راست: ساعت، مدت زمانی که سیستم روشن بوده، تعداد کاربرانی که در سیستم هستند و لود سیستم که از چپ به راست برای ۱، ۵ و ۱۵ دقیقه گذشته محاسبه می شود.
خط دوم در مورد وظایف سیستم هست که در خروجی بالا ۲۲۳ تا وظیفه وجود دارد (یعنی ۲۲۳ تا pid وجود داره) که در بین همهی آنها دوتاشون در حال کار کردن و بقیه در حالت خواب (sleep یا idle) هستن و هیچ پروسسی stop نشده و یک پروسس zombie داریم. توضیح پروسس zombie و stop خارج بحث اینجاست.
خط سوم در مورد cpu و مصارف مربوط به اون هست.
خط چهارم و پنجم در مورد رم وswap هست.
نکته: مقدار مصرف رم در دستور top با احتساب disk caching نشون داده میشود. برای اطلاعات بیشتر به دستور free مراجعه کنین.
آپشنها
دستور top دو گروه آپشن دارد. گروه اول که با خود دستور top استفاده میشوند و گروه دوم که در محیط برنامه اجرا میشوند.
گروه اول آپشنها
b-
: دستور top رو در حالت Batch mode اجرا میکند که برای ذخیره خروجی دستور top در داخل یک فایل متنی مناسب است. تفاوتش با حالت عادی رو با تست کردن خودتون متوجه میشین.
خروجی زیر کامل نیست چون حجمش زیاد بود قسمتیش رو گذاشتم:
aliabry@lp:~$ top -b top - 14:33:06 up 2 days, 4:36, 2 users, load average: 0.10, 0.36, 0.45 Tasks: 238 total, 1 running, 236 sleeping, 0 stopped, 1 zombie Cpu(s): 3.4%us, 1.7%sy, 0.1%ni, 94.3%id, 0.5%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 4030112k total, 2651236k used, 1378876k free, 237064k buffers Swap: 2049044k total, 286676k used, 1762368k free, 917400k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ۱۲۳۶ root 20 0 224m 77m 7796 S 4 2.0 141:54.94 Xorg ۲۱۷۰ aliali 20 0 1525m 197m 29m S 4 5.0 116:15.82 compiz ۲۷۴۹۴ root 20 0 0 0 0 S 2 0.0 0:00.34 kworker/2:0 ۲۷۶۷۸ aliabry 20 0 17468 1384 944 R 2 0.0 0:00.02 top ۱ root 20 0 24588 2252 1224 S 0 0.1 0:02.24 init ۲ root 20 0 0 0 0 S 0 0.0 0:00.05 kthreadd ۳ root 20 0 0 0 0 S 0 0.0 0:04.14 ksoftirqd/0
d-
: برای تعیین مدت زمان بین هر بهروزآوری. در زیر هر یک ثانیه بهروز میشود:
aliabry@lp:~$ top -d 1
n-
: برای تعیین تعداد دفعات بهروزآوری که بعد اتمام دفعات دستور top بسته میشود. در دستور زیر بعد از پنج بار بهروزآوری در بازههای یک ثانیه دستور top بسته میشود.
aliabry@lp:~$ top -d 1 -n 5
s-
: برای اجرای دستور top در حالت secure استفاده میشود. بعضی امکانات مانند kill کردن یک پروسس در این حالت کار نمیکنند.
u- USERNAME
: برای تعیین نام کاربری است که دستور top فقط پروسسهای مربوط به اون کاربر رو نشون میده.
مثلا در زیر کاربر aliabry فقط دو پروسس دارد یکی خود دستور top و یکی پوسته bash:
aliabry@lp:~$ top -n2 -b -u aliabry top - 11:25:09 up 2 days, 1:28, 2 users, load average: 0.27, 0.45, 0.56 Tasks: 241 total, 1 running, 238 sleeping, 0 stopped, 2 zombie Cpu(s): 3.2%us, 1.7%sy, 0.1%ni, 94.5%id, 0.5%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 4030112k total, 2257196k used, 1772916k free, 208016k buffers Swap: 2049044k total, 294300k used, 1754744k free, 720236k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ۲۲۴۱۱ aliabry 20 0 17468 1376 932 R 6 0.0 0:00.03 top ۲۲۰۷۷ aliabry 20 0 27112 8392 1716 S 0 0.2 0:00.84 bash top - 11:25:12 up 2 days, 1:28, 2 users, load average: 0.25, 0.45, 0.55 Tasks: 241 total, 2 running, 237 sleeping, 0 stopped, 2 zombie Cpu(s): 3.0%us, 1.3%sy, 0.0%ni, 95.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4030112k total, 2257064k used, 1773048k free, 208016k buffers Swap: 2049044k total, 294300k used, 1754744k free, 720236k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ۲۲۴۱۱ aliabry 20 0 17476 1392 948 R 0 0.0 0:00.04 top ۲۲۰۷۷ aliabry 20 0 27112 8392 1716 S 0 0.2 0:00.84 bash
p-
: برای تعیین pid هستش.
aliabry@lp:~$ top -b -p 20566 -p 20034 top - 11:32:15 up 2 days, 1:35, 2 users, load average: 0.19, 0.28, 0.44 Tasks: 2 total, 0 running, 2 sleeping, 0 stopped, 0 zombie Cpu(s): 3.2%us, 1.7%sy, 0.1%ni, 94.5%id, 0.5%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 4030112k total, 2267732k used, 1762380k free, 208648k buffers Swap: 2049044k total, 293968k used, 1755076k free, 721200k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ۲۰۰۳۴ aliali 20 0 1076m 230m 42m S 18 5.9 13:21.73 firefox ۲۰۵۶۶ aliali 20 0 763m 38m 20m S 0 1.0 0:01.92 pidgin
i-
: پروسسهای idle و zombie رو نشون نمیده.
گروه دوم آپشنها
گروه دوم آپشنهایی هستن که در خود محیط برنامه اجرا میشن و برای اجراشون فقط کافیست دکمه مربوط به اون آپشن رو در ترمینال بفشارین.
k
: برای kill کردن یک پروسس مورد استفاده قرار میگیره که به صورت پیشفرض SIGTERM رو به اون پروسس میفرسته.
اول دکمه k رو بزنین تا خطی مثل PID to kill: 23255
ظاهر بشه بعد جلوش pid مورد نظرتون رو بنویسین بعد از شما شماره سیگنالی می خواین بهش بفرستین رو میپرسه:
Kill PID 1 with signal [15]:
که پیش فرض ۱۵ یا SIGTERM هست (برای اطلاعات بیشتر در مورد سیگنالها به دستور kill مراجعه کنین).
نکته: برای انجام اینکار باید دسترسی کافی داشته باشین.
s
: برای تغییر مدت زمان بین هر آپدیت.
نکته: با فشردن کلید space نیز محتویات بهروز میشوند.
Change delay from 3.0 to: 1
n
: برای تعیین تعداد پروسسی که در جدول نشون بده . در زیر ۵ پروسس نشون میده:
Maximum tasks = 0, change to (0 is unlimited): 5
r
: برایه renice کردن هست. انجام اینکار نیاز به دسترسی کافی دارد.
اول شماره pid رو ازتون میگیره:
PID to renice: 23355
و سپس شماره اولویتی که میخاین بهش تعلق بگیره:
Renice PID 23355 to value:1
نکته: عدد اولویت یک pid در ستون NI ظاهر میشود.
u
: مثل آپشن u-
در آپشنهای گروه اول برای تعیین نام کاربری هست. به غیر از نام کاربری UID هم میتونین بدین.
Which user (blank for all): ali.abry
z
: برای تغییر رنگ هستش. خودتون یک بار بزنین تفاوت رو میبینین.
l
: خط اول هیدر که مربوط به uptime و load average هست محو میشه.
t
: خط دوم و سوم که مربوط به task و cpu هست رو محو میکنه.
m
: خط چهارم و پنجم که مربوط به mem و swap هست رو محو میکنه.
۱
: جزئیات مصرف cpu رو به ازای هر هسته cpu نشون میده.
top - 12:30:10 up 2 days, 2:33, 2 users, load average: 0.26, 0.49, 0.49 Tasks: 245 total, 1 running, 241 sleeping, 0 stopped, 3 zombie Cpu0 : 6.1%us, 1.4%sy, 0.0%ni, 92.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 15.6%us, 2.0%sy, 0.0%ni, 82.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 4.7%us, 2.0%sy, 0.0%ni, 93.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 3.3%us, 2.0%sy, 0.0%ni, 94.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 1.0%us, 2.0%sy, 0.0%ni, 97.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 : 0.7%us, 0.7%sy, 0.0%ni, 98.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 1.0%us, 0.3%sy, 0.0%ni, 98.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu7 : 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4030112k total, 2468268k used, 1561844k free, 215080k buffers Swap: 2049044k total, 287572k used, 1761472k free, 769032k cached
c
: با زدن c
دستور کاملی که برای اجرای هر pid مورد استفاده قرار گرفته رو نشون میده.
قبل از زدن c
top - 17:34:14 up 7:09, 3 users, load average: 0.72, 0.60, 0.60 Tasks: 251 total, 1 running, 215 sleeping, 1 stopped, 34 zombie %Cpu(s): 18.4 us, 5.4 sy, 0.0 ni, 76.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 4049004 total, 3925128 used, 123876 free, 80060 buffers KiB Swap: 4881404 total, 560 used, 4880844 free, 2120828 cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ۸۸۴۹ matrix 20 0 1356m 371m 62m S 17.5 9.4 31:58.70 firefox ۱۲۹۷ root 20 0 260m 112m 34m S 6.7 2.9 30:32.09 Xorg ۲۸۷۷ matrix 20 0 1669m 242m 65m S 5.4 6.1 14:50.00 compiz ۱۲۳۱۲ matrix 20 0 792m 29m 16m S 5.4 0.8 0:04.83 gnome-terminal ۲۸۸۴ matrix 20 0 521m 16m 9900 S 2.7 0.4 5:06.09 indicator-multi ۹۱۱۰ matrix 20 0 2497m 116m 45m S 2.7 2.9 3:53.94 rhythmbox ۱۲۸۱۶ matrix 20 0 20816 1584 1052 R 2.7 0.0 0:00.31 top ۲۹۸۲ matrix 20 0 610m 10m 3468 S 1.3 0.3 3:00.10 hud-service ۲۹۸۳ matrix 20 0 807m 40m 20m S 1.3 1.0 5:52.56 unity-panel-ser ۱ root 20 0 27056 2852 1356 S 0.0 0.1 0:00.85 init ۲ root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd ۳ root 20 0 0 0 0 S 0.0 0.0 0:05.47 ksoftirqd/0 ۵ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H ۶ root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u:0 ۷ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/u:0H ۸ root rt 0 0 0 0 S 0.0 0.0 0:00.44 migration/0 ۹ root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh ۱۰ root 20 0 0 0 0 S 0.0 0.0 0:10.78 rcu_sched ۱۱ root rt 0 0 0 0 S 0.0 0.0 0:00.18 watchdog/0 ۱۲ root rt 0 0 0 0 S 0.0 0.0 0:00.14 watchdog/1 ۱۳ root 20 0 0 0 0 S 0.0 0.0 0:05.51 ksoftirqd/1 ۱۴ root rt 0 0 0 0 S 0.0 0.0 0:00.48 migration/1 ۱۶ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H ۱۷ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset ۱۸ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper ۱۹ root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs ۲۰ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns ۲۱ root 20 0 0 0 0 S 0.0 0.0 0:00.00 bdi-default ۲۲ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd ۲۳ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd ۲۴ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 ata_sff ۲۵ root 20 0 0 0 0 S 0.0 0.0 0:00.00 khubd ۲۶ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 md ۲۷ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 devfreq_wq ۳۰ root 20 0 0 0 0 S 0.0 0.0 0:00.02 khungtaskd ۳۱ root 20 0 0 0 0 S 0.0 0.0 0:01.26 kswapd0 ۳۲ root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd ۳۳ root 39 19 0 0 0 S 0.0 0.0 0:00.00 khugepaged ۳۴ root 20 0 0 0 0 S 0.0 0.0 0:00.00 fsnotify_mark ۳۵ root 20 0 0 0 0 S 0.0 0.0 0:00.00 ecryptfs-kthrea ۳۶ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 crypto ۴۷ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kthrotld ۵۰ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 binder ۶۹ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 deferwq ۷۰ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 charger_manager ۱۸۴ root 20 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0 ۱۸۸ root 20 0 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_1 ۱۹۰ root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u:3
بعد از زدن c
top - 17:32:45 up 7:08, 3 users, load average: 0.33, 0.54, 0.59 Tasks: 251 total, 1 running, 215 sleeping, 1 stopped, 34 zombie %Cpu(s): 18.9 us, 6.1 sy, 0.0 ni, 75.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 4049004 total, 3878968 used, 170036 free, 80004 buffers KiB Swap: 4881404 total, 560 used, 4880844 free, 2119548 cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ۸۸۴۹ matrix 20 0 1345m 327m 62m S 17.2 8.3 31:31.52 /usr/lib/firefox/firefox ۱۲۹۷ root 20 0 260m 112m 34m S 8.6 2.9 30:23.14 /usr/bin/X :0 -core -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -n ۲۸۷۷ matrix 20 0 1669m 242m 65m S 7.9 6.1 14:44.02 compiz ۱۲۳۱۲ matrix 20 0 792m 29m 16m S 5.4 0.8 0:04.18 gnome-terminal ۹۱۱۰ matrix 20 0 2497m 116m 45m S 2.9 2.9 3:51.71 rhythmbox ۲۸۸۴ matrix 20 0 521m 16m 9900 S 1.8 0.4 5:04.91 indicator-multiload ۲۸۴۱ matrix 9 -11 419m 7612 4924 S 1.4 0.2 4:14.47 /usr/bin/pulseaudio --start --log-target=syslog ۲۹۸۳ matrix 20 0 807m 40m 20m S 1.4 1.0 5:51.30 /usr/lib/unity/unity-panel-service ۲۹۸۲ matrix 20 0 610m 10m 3468 S 0.7 0.3 2:59.46 /usr/lib/x86_64-linux-gnu/hud/hud-service ۲۸۰۰ matrix 20 0 27340 3576 724 S 0.4 0.1 0:52.47 //bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session ۲۸۳۳ matrix 20 0 838m 25m 15m S 0.4 0.6 0:14.72 /usr/lib/gnome-settings-daemon/gnome-settings-daemon ۳۰۳۶ matrix 20 0 519m 6116 4676 S 0.4 0.2 1:13.56 /usr/lib/x86_64-linux-gnu/indicator-application-service ۱۱۸۶۳ root 20 0 0 0 0 S 0.4 0.0 0:03.92 [kworker/1:0] ۱۲۸۱۶ matrix 20 0 20816 1584 1052 R 0.4 0.0 0:00.16 top ۱ root 20 0 27056 2852 1356 S 0.0 0.1 0:00.85 /sbin/init ۲ root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd] ۳ root 20 0 0 0 0 S 0.0 0.0 0:05.45 [ksoftirqd/0] ۵ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kworker/0:0H] ۶ root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kworker/u:0] ۷ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kworker/u:0H] ۸ root rt 0 0 0 0 S 0.0 0.0 0:00.44 [migration/0] ۹ root 20 0 0 0 0 S 0.0 0.0 0:00.00 [rcu_bh] ۱۰ root 20 0 0 0 0 S 0.0 0.0 0:10.74 [rcu_sched] ۱۱ root rt 0 0 0 0 S 0.0 0.0 0:00.18 [watchdog/0] ۱۲ root rt 0 0 0 0 S 0.0 0.0 0:00.14 [watchdog/1] ۱۳ root 20 0 0 0 0 S 0.0 0.0 0:05.50 [ksoftirqd/1] ۱۴ root rt 0 0 0 0 S 0.0 0.0 0:00.48 [migration/1] ۱۶ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kworker/1:0H] ۱۷ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [cpuset] ۱۸ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [khelper] ۱۹ root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kdevtmpfs] ۲۰ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [netns] ۲۱ root 20 0 0 0 0 S 0.0 0.0 0:00.00 [bdi-default] ۲۲ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kintegrityd] ۲۳ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kblockd] ۲۴ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [ata_sff] ۲۵ root 20 0 0 0 0 S 0.0 0.0 0:00.00 [khubd] ۲۶ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [md] ۲۷ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [devfreq_wq] ۳۰ root 20 0 0 0 0 S 0.0 0.0 0:00.02 [khungtaskd] ۳۱ root 20 0 0 0 0 S 0.0 0.0 0:01.26 [kswapd0] ۳۲ root 25 5 0 0 0 S 0.0 0.0 0:00.00 [ksmd] ۳۳ root 39 19 0 0 0 S 0.0 0.0 0:00.00 [khugepaged] ۳۴ root 20 0 0 0 0 S 0.0 0.0 0:00.00 [fsnotify_mark] ۳۵ root 20 0 0 0 0 S 0.0 0.0 0:00.00 [ecryptfs-kthrea] ۳۶ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [crypto] ۴۷ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kthrotld] ۵۰ root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [binder]
ترتیب کردن ستونها
برای ترتیب کردن ستونها از دکمههای زیر استفاده کنین
command sorted field M %MEM N PID P %CPU T TIME+
مثلا اگر میخواین بر اساس مقدار مصرف cpu ببینین از P استفاده کنین.
اگر میخواین بر اساس ستونی مرتب (sort) کنین که در بالا نیست با دکمه های >
و <
میتونین ستونی که sort میشه رو به چپ و راست حرکت بدین. یا از کلید F استفاده کنین و ستون مورد نظرتون رو انتخاب کنین.
تعیین محتویات داخل ستون به وسیله f
برای اینکار از f
استفاده کنین. سپس به یک صفحه وارد میشین که در اونجا به هر ستون یک حرف انگلیسی اختصاص داده شده مثلا به pid حرف a اختصاص داده شده. شما با فشردن دکمه حرف مربوط به هر ستون میتونین اون ستون رو انتخاب کنین که کنارش یک ستاره میاد.
مثلا در زیر از PID تا TIME+ انتخاب شده:
Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def Toggle fields via field letter, type any other key to return * A: PID = Process Id 0x00000004 PF_EXITING * E: USER = User Name 0x00000040 PF_FORKNOEXEC * H: PR = Priority 0x00000100 PF_SUPERPRIV * I: NI = Nice value 0x00000200 PF_DUMPCORE * O: VIRT = Virtual Image (kb) 0x00000400 PF_SIGNALED * Q: RES = Resident size (kb) 0x00000800 PF_MEMALLOC * T: SHR = Shared Mem size (kb) 0x00002000 PF_FREE_PAGES (2.5) * W: S = Process Status 0x00008000 debug flag (2.5) * K: %CPU = CPU usage 0x00024000 special threads (2.5) * N: %MEM = Memory usage (RES) 0x001D0000 special states (2.5) * M: TIME+ = CPU Time, hundredths 0x00100000 PF_USEDFPU (thru 2.4) b: PPID = Parent Process Pid 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
ترتیب قرار گرفتن ستونها بهوسیله o
اول o
رو بزنین بعد به یک صفحه شبیه به صفحه زیر میرین که مثل بالا که گفته شد به هر ستون یک حرف اختصاص داده شده واگر میخواین ستون مورد نظرتون به سمت چپ برود حرف مربوط به اون ستون رو به صورت بزرگ (Upper case) بزنین و اگر میخواین به سمت راست حرکتش بدین به صورت حرف کوچک (Lower case) بزنین.
Upper case letter moves field left, lower case right * A: PID = Process Id 0x00000004 PF_EXITING * E: USER = User Named 0x00000040 PF_FORKNOEXEC * H: PR = Priority 0x00000100 PF_SUPERPRIV * I: NI = Nice value 0x00000200 PF_DUMPCORE * O: VIRT = Virtual Image (kb) 0x00000400 PF_SIGNALED * Q: RES = Resident size (kb) 0x00000800 PF_MEMALLOC * T: SHR = Shared Mem size (kb) 0x00002000 PF_FREE_PAGES (2.5) * W: S = Process Status 0x00008000 debug flag (2.5) * K: %CPU = CPU usage 0x00024000 special threads (2.5) * N: %MEM = Memory usage (RES) 0x001D0000 special states (2.5) * M: TIME+ = CPU Time, hundredths 0x00100000 PF_USEDFPU (thru 2.4) b: PPID = Parent Process Pid 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
ذخیره تغییرات انجام شده به وسیله W
اگر تغییراتی مثل تغییر در هیدر یا تغییرات در ستون مثل ترتیب ستونها، اولویتها و… انجام دادین با زدن W
تغییرات ذخیره میشود ودفعه بعد که top رو اجرا کنین به همون شکل قبل اجرا میشود.
دستور دیگری به اسم htop هست که بسیار شبیه به top هست و کار با اون آسونتر هم هست و از ماوس هم بهره میبره و شخصیسازی اون به راحتی قابل انجام است.