CPU的负载

2021-05-24 11:02:22 浏览数 (2)

一.简介

使用top或者uptime命令可以看到cpu平均负载,1,5,15分钟

平均负载包括以下几个部分:

  • 正在运行的进程。正在使用cpu做计算的进程,ps看到R 也就是running。
  • 等待运行的进程。cpu跑满了,等待执行的进程,ps看到的R 也就是runnable。
  • 不可中断进程。等待硬件设备IO响应的进程,ps看到的D,也就是disk sleep,对硬件设备的一种保护。当一个进程在向硬盘写数据,如果被其它进程打断了,那数据将会不一致。

平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数。

如果是多个cpu,先计算每个cpu的平均负载,再求和

平均负载并非使用率。cpu顶多100%,不可能120%使用率,但负载可以是200%,因为还有等待运行的进程。

二.合理的负载

理想情况下,5个cpu,负载为5是最好的,都满载。

当1分钟,5分钟,15分钟相差不大,说明系统很稳定 当1分钟小于15分钟,说明过去15分钟负载很高,当前正在降低 当1分钟大于15分钟,说明负载正在增加,过去15分钟负载比较低 当平均负载超过cpu核心数70%就要注意了,可能有大量任务堆积,需要排查。

但是: 当有10个cpu核心时,负载显示1则说明可能有一个cpu满载,也可能是10个cpu都使用10% 当有10个cpu核心时,负载显示10则说明可能有一个cpu满载,并有900%任务在等待,也可能10个cpu都满载

所以: 需要可以使用htop等工具来查看cpu是否都集中在一个上面运行。若是4核心,但负载都集中在一个上,程序依然会很慢

0 人点赞