在CPU统计下你可以看到Linux CPU使用率。从{zh1}一次屏幕更新开始,任务所占CPU运行时间时间表示成所有CPU时间的百分比。Top命令在真正的SMP环境下可同时操作多个CPU。注意,退出top命令显示需要输入Q关键字。
Top命令产生不断更新的过程列表。默认情况下,只有“top”的CPU用户才显示CPU使用率百分比的过程排序。Top命令显示了处理能力和内存正在使用情况,以及对正在运行程序的其他信息。
用mpstat 和其他工具找出Linux CPU使用率
请注意,使用下面的命令,安装你需要的特殊包sysstat。这个包包含Linux系统性能工具(Red Hat Linux/RHEL默认包含这些工具)。
安装sysstat输入命令:
# apt-get install sysstat
如果你正在使用RHEL可以使用up2date命令:
#up2date sysstat
用mastpat显示每一个CPU的使用率
如果你现在用的是SMP(多CPU)系统,就用maptat命令去显示每一个CPU使用率。它报告与处理器有关的统计。例如,输入命令:
# mpstat
Mpstat命令可显示每一个可用处理器活动,从处理器为0开始。同时也可显示报告所有处理器的全书局平均活动。Mpstat命令也可用在SMP和UP机器上,但对于后者,只显示所有处理器的全书局平均活动。
输入命令:
# mpstat -P ALL
另一个来自我的惠普双核64位服务器的输出。
输入命令:
# mpstat -P ALL
输出:
使用sar命令报告CPU使用率
可用sar命令显示当前CPU活动
输入命令:
# sar
输出:
CPU使用率比较
Sar命令写入标准输出在操作系统积累活动计数器选定的内容。系统统计是基于数量和间隔值的参数。例如显示CPU使用率每隔2秒显示一次,一共显示5次,用到的命令为:
# sar –u 2 5
输出(每2秒显示输出一次,共显示5行):
注:
-u 12 5:CPU使用率报告,显示说明如下:
◆%user: 根据用户应用级别执行时,CPU使用率百分比。
◆%nice:根据优先级级别执行时,CPU使用率百分比。
◆%system:根据系统内核执行时,CPU使用百分比。
◆%iowait:当系统有标准磁盘I/O请求时,CPU或CPUS闲置时间的百分比。
◆%idle:当系统没有标准磁盘I/O请求时,CPU或CPUS闲置时间的百分比。
要获得多个样本,多份报告,可用sar命令设置一个输出文件。运行sar命令作为背景使用过程中。
命令:
# sar -o output.file 12 8 >/dev/null 2>&1 &
更好地使用nohup命令,以便您可以注销和用来以后检查报告。
命令:
# nohup sar -o output.file 12 8 >/dev/null 2>&1 &
所有数据都以二进制形式记录并保存到一个文件中(数据文件)。这些数据可以用sar命令f选项有选择地显示。命令如下:
# sar -f data.file
任务:找出谁独占了CPUS
{zh1},你需要确定谁独占了CPUS。用下面的命令可在Linux系统中显示前10个CPU用户。
输入命令:
# ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
或者:
# ps -eo pcpu,pid,user,args | sort -r -k1 | less
输出:
现在你知道VMware的vmx进程占用了大量的CPU功率。Ps命令以用户定义的格式显示每一个进程。首先是CPU使用率,这是相反的顺序排序显示前10个使用CPU的过程。
Iostat 命令
您也可以使用iostat命令报告中央处理器(CPU)的统计和输入/输出设备和分区统计。它可以用来查找从上次重启后系统平均CPU使用率。
输入命令:
# iostat
输出:
你可以用下面的命令,每5秒输出3条信息。(正如前面的命令让自上次重新启动信息。)
输入命令:
$ iostat -xtc 5 3