多核心服务器的代表性CPU使用率得分是多less?

我试图简化我们的监控系统。

对于查看服务器的CPU使用情况,有各种不同的观点,包括:

我们对每个核心的使用情况也有特定的指标。

核心占用是有用的,因为你可能有4个核心,1个100%核心和3个核心0%。 在这种情况下,您可以下降到拥有1个或2个内核,而不会影响您的工作负载,因为平均CPU使用率只会显示25%(无用)。

保持所有这些单独的指标是非常重要的,因为我们有数以千计的服务器每分钟多次报告指标。

是否有一种标准的方式来衡量CPU使用情况,这个方法既考虑了总功耗,又考虑了所使用的内核数量(平行工作能力)?

编辑:我们得到了一些真棒/有用的反应,在工程实际系统方面。 但是我们来关注一下这样一个普遍的问题:“如何评分/制作一组或者一组指标来表示计算机对CPU资源的使用情况,包括使用并行性?

测量您的cpu上的空闲时间量不是衡量性能或容量的好方法。 CPU使用率高可能表明更多的CPU可以使服务更快,但更好的指标是平均负载。 首先,这将告诉你,如果工作正在等待被处理,但被卡在等待时间片的运行队列上,在Linux(和其他一些操作系统)上,调度程序将在存在积压时启动抢占任务等待运行的任务(当负载平均值大于cpus时,您有积压)。 上下文切换的注入导致吞吐量下降,因为操作系统试图完成一个tssk并将其从运行队列中取出。

您对1核100%和3个空闲内核的描述可能有许多故事可以解释,并提供了许多解决scheme来更有效地使用“数千台服务器”。 您需要深入挖掘,以确定它是否是configuration问题,应用程序分割的任务不足,irq分发不佳或其他原因。

总是有一个在那里的洛杉矶服务完全相同的原因。 LA(Load Average)本身显示了许多已经准备好在最后一次检查中运行的进程。 这使洛杉矶有些难以理解,但也使洛杉矶非常有用的检测错误的服务器利用率或潜在的改善空间。

Low LA告诉我们,服务器在当前的负载下感觉良好,所以即使100%的CPU使用率也不是问题,因为它响应迅速。

高LA告诉我们,服务器经历了一些沉重的负担或无法与当前的任务相处,所以即使5%的CPU使用率可能感觉像服务器完全卡住,没有响应。 这可能发生在各种情况下,如等待磁盘数据(磁盘过载),太多的数据越过内核边界(坏的编码/改善空间),不良的CPU行为(硬件问题)等等。

低和高LA之间的边缘是虚构的,并且可以稍微不同于OS到OS。 早在20年代,Linux就相当渺茫,而BSD可以达到100而没有严重的影响。 今天这可能改变了很多。