cpu load - 1

前言

关于对cpu load的理解,已经是讲烂的一个话题了。但一些文章对cpu load的描述,部分有非常明显的错误。

本着不重复造轮子的原则,在这里总结一些可靠的结论。

直接上结论

什么是cpu load?

(以下说的cpu load,都是linux cpu load)

cpu load反应了一个系统的"忙碌"程度(事实上,cpu load是个不那么准确的词。更准确的描述cpu load的词是system load :-) )

什么决定了我的cpu load?

  • cpu时间
  • 不被中断(Uninterruptible)的任务(通常是disk I/O。但在目前linux中,这种任务类型非常非常非常地多(比如cgroup),远不止磁盘I/O)

一个有意思的现象是,如果你的系统是I/O型的,将硬盘从SSD换成HDD,虽然你的系统变慢了,但load反而会降低哦。

那么作为常见的监控项,这个值到了什么地步我才需要关心呢?

70%:最合适

100%: 要看看应用是不是有问题了哦

200% 出问题了

500% 糟糕了

但是如果你发现,欸,我的系统常年load 10,也跑的好好的啊!

那么要想想,是不是有其它不可中断的任务让你的load很高,但是不影响系统运行。然后来找找能反映这些任务的指标吧

70%意味着。

  • 对于单核心,达到了0.7

  • 对于多核心,例如四核心,达到了 4 * 0.7 也即2.8

同时需要注意的是,这个值与物理核心没有关系哦
也就是说,双核双线程,等同于单核多线程 (忽略共享缓存这种实际表现上的性能问题)

对于这个指标而言, 四核八线程 等同 八核八线程

你可能感兴趣的:(cpu load - 1)