根据负载估算所需的核心容量?

时间:2019-03-05 14:33:41

标签: linux performance cpu cpu-usage cpu-architecture

我有四核ubuntu系统。如果在高峰时段最近15分钟内我看到平均负载为60,请说。平均负载也达到150。  这种负载通常仅在高峰时间发生。基本上我想知道是否有任何标准公式来得出理想的处理给定负载所需的核心数量?

目标:-  如果认为负载为60,那么这意味着在最近15分钟的任何时间平均有60个任务在排队?添加cpu可以帮助我将服务器  要求更快,或从挂起或崩溃中保存系统。

1 个答案:

答案 0 :(得分:1)

Linux平均负载(由uptimetop打印)在I / O等待中包括任务,因此它与CPU时间的关系很小可能会并行使用。

如果所有任务纯粹是由CPU约束的,那么150个持续的平均负载将意味着潜在的150个内核可能是有用的。 (但是,如果这种情况不能持续下去,那可能只是一个临时的长队列,如果您拥有更好的CPU吞吐量,就不会那么长。)

如果您崩溃了,那是一个巨大的问题,高负载无法解释。 (除非是内存不足的杀手踢的。)


使用vmstatdstat来查看平均加载时在用户/内核空间上花费了多少CPU时间可能会有所帮助。正在建立,或者可能主要是I / O。

或者当然,您可能知道计算机上正在运行哪些任务,以及在空闲的计算机上是单个任务是I / O绑定还是CPU绑定。 I / O吞吐率通常会随着队列深度的增加而呈正数增长,但在磁性硬盘驱动器上,I / O吞吐率会将连续的读/写操作转换为大量搜寻工作负载。