cpu负载:load average: 0.00, 0.04, 0.05
运行队列之和,一个是IO队列,一个是cpu正在运行的队列
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
0.0 wa:等待输入输出的CPU时间百分比
中断: 0.0 hi, 0.0 si :硬中断、软中断占用CPU的百分比
中断概念:cpu正在处理的进程/线程任务突然被迫的停止了,换成其他的进程/线程来做这个事
中断分为三种:进程与进程之间的中断、同一个进程下 线程与线程之间的切换、从用户(用户进程)态切换到内核态(系统进程)--(比如读磁盘、写日志)。
中断的产生会消耗 内核cpu。如果看到sy cpu比较高,就可以怀疑是不是中断过多导致的。
中断会导致上下文切换,但是为什么会出现中断???
硬中断:
软中断:在一个时间片内完成主动释放(消耗用户cpu)、在一个时间片内没完成被动释放(消耗内核cpu)、用户程序主动发起的上下文切换(比如用户进程要写日志,代码执行到写日志了,用户进程主动发起,但调用系统内核cpu来完成)
上下文切换:当一个进程终止,要记录任务状态和进度,以便于下个进程继续运行。就是保存状态的一个过程。
(三种上下文切换,哪个最消耗内核cpu???)。。。 没听懂。
S:进程状态:停止状态\STOPPED 终止状态\ZOMBIE 不可中断睡眠状态\UNINTERRUPTIBL 可中断睡眠状态\INTERRUPTIBL 就绪状态\RUNNING 运行状态
vmstat 2 3 (每2秒打印一次,一共打印3次)
procs:进程队列 r列:代表正在running(正在消耗时间片)的进程。 b列:等待IO的进程。 这两个东西理论上就代表是我们的负载,但负载是个平均值。