本文共 1209 字,大约阅读时间需要 4 分钟。
结论
每秒上下文切换次数的大小,取决于CPU性能,一般来说,切换稳定,数值从百到万以内,都算正常:cswch/s 切换多,说明进程在等待资源,可能发生了I/O等其他问题 nvcswch/sq 切换多,说明进程被强制调度,也就是争抢CPU,说明CPU有瓶颈 中断次数多了,说明CPU被中断程序占用,具体可以分析 /proc/interrupts文件
vmstat 用来查看虚拟内存,也可以查看一些CPU总体的上下文切换情况有用参数
使用pidstat -w
查看每个进程的详细情况:
-----------------------------------------------------------------------------------------------------以下来自:
平均负载是指单位时间内,系统处于 可运行状态 和 不可中断状态 的平均进程数。简单理解,就是平均活跃进程数。
可运行状态:进程正在或等待使用CPU
不可中断状态:进程正在等待硬件设备的I/O,是系统对进程和硬件设备的一种保护机制。 最理想的情况是,每个CPU上刚好运行着1个进程,也就是平均负载等于CPU的个数。假如平均负载是2,那么意味着:单核CPU上,有一半的进程竞争不到CPU
双核CPU上,所有的CPU刚好被完全占用 4核CPU上,意味着CPU有50%的空闲(idle) 注意,这里的核指逻辑核数,比如超线程的双核CPU,相当于4核。因此,当平均负载比CPU个数还大时,就出现了系统过载。
在生产环境中,一般推荐平均负载不要高于CPU数量的70%
区别CPU使用率
CPU使用率是单位时间内CPU繁忙情况的统计。而平均负载包括正在使用CPU、等待CPU、等待IO的进程。具体来说:CPU密集型进程,CPU使用率高,平均负载高
I/O密集型进程,平均负载高,CPU使用率低 大量等待CPU的进程,平均负载高,CPU使用率也会比较高 案例分析 准备工具 linux系统,并安装以下两款工具:yum install stress sysstatstress: linux系统压力测试工具
sysstat:包含了常用的linux性能工具,这里用到它提供的两个命令: mpstat: 多核CPU性能分析工具 pidstat: 进程性能分析工具,可实时查看cpu, 内存,I/O以及上下文切换等指标 场景一:CPU密集型进程 以root身份登录中断,在终端1执行如下命令:终端2执行uptime查看平均负载的变化情况
终端3查看CPU使用率变化:
转载地址:http://howad.baihongyu.com/