以往我使用top命令都是不带任何开关的,直接一个top之后就任其不停地刷屏。可是最近才发现原来这个命令不简单,有不少的开关可以用,而且默认启动的时候还是一个交互式(interactive)程序,彻底服了-_-b
这里搜集了几个最近用到的开关:
-b
批处理模式,批处理模式在需要将top命令的输出发送到其他程序或者是文件时非常有用
-c
显示命令行(command line)而不只是程序名称(program name)
-d delay
屏幕刷新时间延迟
-n iterations
指定命令在退出前产生的输出的最大递归次数
-p PID [, PID...]
仅监控指定PID所对应的进程
最后是一个综合使用以上所有开关的top命令示例:
$ top -bc -d 5 -n 2 -p 8648,8752,8715
top – 22:48:27 up 16 days, 22:20, 4 users, load average: 2.40, 2.18, 2.07
Tasks: 3 total, 0 running, 3 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.6% us, 2.1% sy, 0.0% ni, 69.9% id, 25.4% wa, 0.0% hi, 0.0% si
Mem: 6227868k total, 6109896k used, 117972k free, 2736k buffers
Swap: 10288440k total, 1263740k used, 9024700k free, 4210252k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8648 cdcrac RT 0 564m 563m 37m S 0.0 9.3 77:23.29 /oracle/cluster/crs/bin/ocssd.bin
8752 root 19 0 669m 50m 12m S 0.0 0.8 10:45.79 /oracle/cluster/crs/bin/crsd.bin reboot
8715 cdcrac 16 0 208m 12m 7148 S 0.0 0.2 0:33.25 /oracle/cluster/crs/bin/evmd.bin
top – 22:48:32 up 16 days, 22:20, 4 users, load average: 2.60, 2.22, 2.09
Tasks: 3 total, 0 running, 3 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.9% us, 2.1% sy, 0.0% ni, 67.1% id, 28.9% wa, 0.1% hi, 0.0% si
Mem: 6227868k total, 6109880k used, 117988k free, 2856k buffers
Swap: 10288440k total, 1263740k used, 9024700k free, 4213512k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8648 cdcrac RT 0 564m 563m 37m S 2.0 9.3 77:23.39 /oracle/cluster/crs/bin/ocssd.bin
8752 root 19 0 669m 50m 12m S 0.0 0.8 10:45.79 /oracle/cluster/crs/bin/crsd.bin reboot
8715 cdcrac 16 0 208m 12m 7148 S 0.0 0.2 0:33.25 /oracle/cluster/crs/bin/evmd.bin
18 September 2008, 3:10
The good thing about running top in batch mode (-b) is the ability to specify a delay of less than one second (unlike in interactive mode). Example:
top -b -d0.5