性能分析之CPU相关分析命令

top命令:

输入top命令,如下图:

top命令显示内容后按1,则会显示每颗CPU的使用情况,如下图

 输出项说明:

%Cpu(s)表示统计信息为所有 CPU 的平均值。
%user 显示在用户级别(application)运行使用 CPU 总时间的百分比。
%nice 显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。
%system 在核心级别(kernel)运行所使用 CPU 总时间的百分比。
%iowait 显示用于等待I/O操作占用 CPU 总时间的百分比。
%steal 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle 显示 CPU 空闲时间占用 CPU 总时间的百分比。

用户空间和内核空间的CPU使用百分比一般是70%和30%,这是一个比较合理的值。如果内核空间占用CPU太多,则会影响进程(用户空间)提供的服务。

 

vmstat命令:

执行vmstat 1 10,意思是每秒输出1次,总共输出10次,结果如下图:

 上图红色框部分表示的是CPU的使用情况,和top下的意思一样

 

sar命令(System Activity Reporter系统活动情况报告):

执行sar -q命令,结果如下:

 

 输出项说明:

runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载

 

w命令:

 主要关注Load average,其3个值从左至右分别代表最近1分钟、最近5分钟、最近15分钟系统的负载。如果这3个值除以CPU核数>1,则表示服务器有较大压力,可以使用vmstat进一步查看CPU运行队列。

 

uptime命令:

 和w命令一样,关注Load average

 

mpstat命令:

 各列的值解释同top命令。一般来说idle的值长期小于10,则表示CPU繁忙。

如果要看某颗CPU的使用情况,则使用命令:mpstat -P 0 1,其中0代表的是第0颗CPU,1表示每隔1秒统计一次,效果如下图:

 还可以使用sar -P 0 1命令,输出结果和mpstat一样

 

iostat命令:

iostat -c 1,1表示每秒输出一次,iostat -c 1 5中,1表示每秒输出一次,总共输出5次

  

dstat命令:

执行dstat --top-cpu 可以实时查看CPU当前在运行的进程名称,如下图

 

posted @ 2020-09-28 17:32  寒冰宇若  阅读(545)  评论(0编辑  收藏  举报