VM上的Azure“百分比CPU”度量标准

究竟是什么测量?

我在Azure中有一个带有 16 vCPUs 的Debian VM . 我用它来运行tensorflow . Azure门户网站上的度量标准“ Percentage CPU ”显示平均值为33.5% . 我担心的是我可能没有充分利用所有16个vCPU .

让我感到困惑的是 top 命令显示了一个占主导地位的600%CPU的Python进程 . 为什么这个数字与Azure的33.5%不一致?

有一次,我怀疑数十亿个线程的数量是不够的 . 但是,当我increased the tensorflow threads from 5 to 15时,Azure "Percentage CPU"保持不变,为33.5% . top -H 确实显示了增加的线程数 .

更新:

请参阅下面接受的答案 . 在 top 屏幕中,键入 1 ,它显示所有使用的CPU:

enter image description here

所以Azure的"Percentage CPU"指标是 %CPU ,你会看到 top 命令 . 平均值表示所有CPU的平均值 %CPU .

回答(1)

3 years ago

这是否意味着只使用了16个vCPU中的6个?数学是1个vCPU被顶部计为100%CPU . 因此,顶部显示的600%表示使用6个vCPU .

不,我不这么认为 . 全部使用了16个vCPU .

你可以查看answer .

%CPU - CPU使用率:进程使用的CPU百分比 . 默认情况下,top将其显示为单个CPU的百分比 . 在多核系统上,您可以拥有大于100%的百分比 . 例如,如果3个核心使用率为60%,则top将显示CPU使用率为180% . 有关更多信息,请参见[此处] [2] . 您可以通过在top运行时点击Shifti来切换此行为,以显示正在使用的可用CPU的总百分比 .

您可以执行 top ,然后输入 1 . 您将看到单CPU使用率 .

top - 01:32:05 up 9 min,  1 user,  load average: 0.15, 0.38, 0.33
Tasks: 110 total,   1 running, 109 sleeping,   0 stopped,   0 zombie
%Cpu0  :  1.0 us,  0.0 sy,  0.0 ni, 87.8 id, 11.2 wa,  0.0 hi,  0.0 si,  0.0 st