日期:2014-05-16  浏览次数:20643 次

我使用过的Linux命令之top - 实时监视Linux任务

我使用过的Linux命令之top - 实时监视Linux任务

本文链接:http://codingstandards.iteye.com/blog/833730 ? (转载请注明出处)

用途说明

top命令可以显示Linux任务情况(display Linux tasks),通常用于实时监视Linux任务情况,比如可以找出占CPU最多的进程、占内存最多的进程,查看当前系统的忙闲程度,它涵盖了uptime、free、w、ps等命令的一些功能。它以全屏幕文本方式显示了系统运行时长、当前终端数量、系统负荷、任务数、CPU占用情况、内存使用情况、各个进程的情况,还可以按CPU占用情况排序、内存使用情况排序。对于系统管理员和软件开发来说top都是一个很好的工具,特别是用于性能优化。

?

常用参数

格式:top

交互模式。只显示命令,而不是命令行。

?

格式:top -c

交互模式。显示命令行,而不是只显示命令。这对于显示java进程有些帮助。

?

格式:top -p pid

格式:top -p pid1 -p pid2

交互模式。但是只显示进程号pid对应的信息。可以指定多个pid。

?

格式:top -s

交互模式。安全模式。这将去除交互命令所带来的潜在危险。非安全模式可以kill进程、改变进程优先级等。

?

格式:top -b

批处理模式。可用于脚本处理。不断的输出任务信息,包括所有进程。

?

格式:top -b -n n

批处理模式。输出n 次。比如:top -b -n 1 只显示一次top信息。

?

交互方式常用指令

M(shift+M) 按内存占用情况排序。可以找出占CPU多的进程来。

P(shift+P)?? 按PCU占用情况排序。可以找出占内存多的进程来。

1 (数字1)??? 切换显示每个CPU的详细情况/显示CPU的总体情况。较低版本的top命令,默认把所有的CPU都显示出来了;较高版本的只显示CPU总体情况。

q?????????????????? 退出。

?

使用示例

示例一

[root@web ~]# top

top - 09:57:09 up 125 days, 13:38,? 4 users,? load average: 0.13, 0.05, 0.14
Tasks: 144 total,?? 1 running, 138 sleeping,?? 0 stopped,?? 5 zombie
Cpu(s):? 1.0%us,? 0.5%sy,? 0.0%ni, 97.6%id,? 0.5%wa,? 0.1%hi,? 0.2%si,? 0.0%st
Mem:?? 4075420k total,? 3924736k used,?? 150684k free,?? 176312k buffers
Swap:? 5406712k total,????? 112k used,? 5406600k free,? 2150380k cached

? PID USER????? PR? NI? VIRT? RES? SHR S %CPU %MEM??? TIME+? COMMAND???????????????????????????????????????????????????????????????
29115 root????? 15?? 0? 2332? 968? 720 R? 2.0? 0.0?? 0:00.01 top???????????????????????????????????????????????????????????????????
??? 1 root????? 15?? 0? 2072? 632? 540 S? 0.0? 0.0?? 0:49.30 init??????????????????????????????????????????????????????????????????
??? 2 root????? RT? -5???? 0??? 0??? 0 S? 0.0? 0.0?? 0:03.06 migration/0???????????????????????????????????????????????????????????
??? 3 root????? 34? 19???? 0??? 0??? 0 S? 0.0? 0.0?? 0:00.71 ksoftirqd/0???????????????????????????????????????????????????????????
??? 4 root????? RT? -5???? 0??? 0??? 0 S? 0.0? 0.0?? 0:00.00 watchdog/0????????????????????????????????????????????????????????????
??? 5 root????? RT? -5???? 0??? 0??? 0 S? 0.0? 0.0? 15:01.52 migration/1???????????????????????????????????????????????????????????
??? 6 root????? 34? 19???? 0??? 0??? 0 S? 0.0? 0.0?? 0:05.64 ksoftirqd/1???????????????????????????????????????????????????????????
??? 7 root????? RT? -5???? 0??? 0??? 0 S? 0.0? 0.0?? 0:00.00 watchdog/1????????????????????????????????????????????????????????????
??? 8 root????? 10? -5???? 0??? 0??? 0 S? 0.0? 0.0?? 0:04.82 events/0??????????????????????????????????????????????????????????????
??? 9 root????? 10? -5???? 0??? 0??? 0 S? 0.0? 0.0? 26:55.92 events/1??????????????????????????????????????????????????????????????
?? 10 root????? 11? -5???? 0??? 0??? 0 S? 0.0? 0.0?? 0:09.14 khelper???????????????????????????????????????????????????????????????
?? 11 root????? 10? -5???? 0??? 0??? 0 S? 0.0? 0.0?? 0:00.08 kthread???????????????????????????????????????????????????????????????
?? 15 root????? 10? -5???? 0??? 0??? 0 S? 0.0? 0.0?? 9:04.05 kblockd/0?????????????????????????????????????????????????????????????
?? 16 root????? 10? -5???? 0??? 0??? 0 S? 0.0? 0.0 134:42.49 kblockd/1?????????????????????????????????????????????????????????????
?? 17 root????? 14? -5???? 0??? 0??? 0 S? 0.0? 0.0?? 0:00.00 kacpid????????????????????????????????????????????????????????????????
? 145 root????? 14? -5???? 0??? 0??? 0 S? 0.0? 0.0?? 0:00.00 cqueue/0??????????????????????????????????????????????????????????????
? 146 root????? 14? -5?