【问题标题】:How to interpret CPU time vs CPU percentage如何解释 CPU 时间与 CPU 百分比
【发布时间】:2015-01-30 17:05:20
【问题描述】:

当我检查 azure 监控工具时,CPU 使用率显示在 CPU 时间中

min: 4.69s  
max: 2008.08 s  
avg : 207.63 s

我熟悉 CPU%,这在需要 CPU 周期的应用程序中是有意义的。

以上时间如何对应百分比? 对应于 70% 或 100% cpu 使用率的最大秒数是多少?

注意:cpu 是 4 核

在另一个实例中,我注意到在 60 秒的窗口中

min: 0
max : 133.83
avg : 19.61

基于以下答案(参见 Nachiket 在 cmets 中的解释) 133.83 是 CPU 时间乘以核心(在我的情况下为 4 个核心)的乘积

本例中的 CPU 利用率为 133.83/(60*4) = 54.1%

【问题讨论】:

  • CPU% 仅在具有固定数量处理器的台式机上有意义。这在具有虚拟化硬件的数据中心中毫无意义。
  • @HansPassant Azure Web 应用横向扩展规则显示带有 0-100 滑块的标签“CPU %”。

标签: performance azure cpu-usage


【解决方案1】:

一些云监控工具以标准时间度量提供资源使用情况。 (秒、小时、天等)

如果你在几秒钟内有使用情况,

min: 4.69s  
max: 2008.08 s  
avg : 207.63 s

然后您可以使用 % 的定义从上面找出 % 的用法。

% utilization = (resource used time / total resource availability time)

例如:如果 cpu 可用 100 秒,然后在 80 秒内使用,那么

% utilization = 80/100 = 80% CPU utilization

从您给定的时间开始,总可用时间缺失。找出并使用上面的公式。

% utilization = avg. usage/total availability

没有。核心数应该无关紧要,因为这在两种情况下都存在。

% utilization = ( (no. of cores * avg util)/(no. of core * total availability))  

我不确定 Azure 云监控,但如果它提供相同的功能,那么您可以使用它。

【讨论】:

  • 在 azure 中,资源可用时间仅在 1 分钟和 1 小时的范围内。根据您的回答, 2008 秒 / 1 小时(即 3600 秒)= 55.8% 。谢谢。
  • 今天我看到 cpu 时间 = 60 秒持续时间中的 69.78 秒。根据上述计算,cpu 利用率为 116%。请发表评论。
  • 首先,它不是我的计算,它的标准利用率法则。(我只是简单地向你解释了它)其次,它不合逻辑的说法是 60 秒持续时间测试 CPU 利用率为 69.78 秒单核机器(将 69.78 除以核心数量或将 60 乘以核心数量如果您有很多核心。那么这应该用作每个核心的利用率,并将所有的平均值用作平均利用率)第三,我不介意你删除了接受的答案标签:) 但我认为你应该学会分析和应用教给你的任何东西。
  • 我看到您的回答声明独立于内核。但是,您的 cmets 是“取决于核心”。你能清除这种歧义吗
  • 是的。我认为前面的第二点。评论应该可以消除您的困惑。简单的例子可能是,你不能说我一天工作 25 小时(不合逻辑,不需要证明)因此,如果你运行一个测试让我们说 1 小时,那么你可以使用 100% 资源的最长时间使用时间为 1 小时。你不能超过那个。如果您没有考虑到多个核心,它可能会超过。
猜你喜欢
  • 1970-01-01
  • 2019-05-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-27
  • 1970-01-01
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
相关资源
最近更新 更多