ESXi の PCPUのカウンタ utilized と used について。

ESXi の PCPUのカウンタ utilized と used について。

こんな記事を見つけました。

What is the difference between PCPU Used and PCPU Utilized?
http://blogs.vmware.com/vsphere/2013/01/what-is-the-difference-between-pcpu-used-and-pcpu-utilized.h...
※一部、勝手に補足してあるので正しくは原文をご確認ください...


「PCPU Used」と「PCPU Utilized」はどこが違うのか、という

PCPU のパフォーマンスカウンタの話です。(esxtop や vSphere Client 等で見られるものです)

2:30:51pm up 21 days  9:26, 394 worlds, 11 VMs, 24 vCPUs; CPU load average: 0.04, 0.04, 0.04
PCPU USED(%): 2.3 1.2  78 0.5 4.1 0.9 2.1 1.7 AVG:  11
PCPU UTIL(%): 0.5 2.4 100 0.5 4.2 0.8 2.6 0.4 AVG:  13
CORE UTIL(%): 3.4     100     5.1     4.0     AVG:  28
★これはesxtopの画面です。

記事によると、それぞれ下記のような違いがあるようです。

  • PCPU utilized (PCPU UTIL)は、TSC をベースとしているパフォーマンスカウンタ。
    PCPU utilized = 停止状態ではないTSC サイクル / 現実世界の時間
  • PCPU used は、Unhalted Core Cycle をベースとしているパフォーマンスカウンタ。
    PCPU used = (Unhalted Cycles) / 現実世界の時間

説明に出てくる、用語についてですが・・・

(これも原文に説明があります。)

  • TSC(Time Stamp Counter)は、クロック周波数の変動に影響を受けない64bitレジスタです。
  • Unhalted Cycles(Unhalted Core Cycles)は、
    クロック周波数の変動(Hyper-Threadingや電力管理機能)の影響をうけてしまうカウンタです。
    (命令を実行していない状態以外(Un-halted)をカウントするので)
  • ここでの「現実世界の時間」(wall clock time)は、このパフォーマンスカウンタの更新間隔と考えられます。

両者の違いは、下記のように考えられるようです。

  • PCPU utilized は、一定時間内のうち、どれくらいの時間PCPUがビジーだったかを表す。
  • PCPU used は、ハイパースレッディングや使用電力管理機能を使用したうえでの(影響を受けたうえでの)PCPUの仕事量を表す。


この記事の著者は、キャパシティプランニングや性能評価には「PCPU utilized」カウンタを指標とし、
トラブルシュートの時には「PCPU used」カウンタを指標としている
ようです。

普段(平常時)は、PCPU UTIL を見ておくとよさそうです。

最後に、カウンタの説明については下記が紹介されていました。

esxtop では、PCPU utilized は「PCPU UTIL」と表示されます。

当然英語ですが、式や図も多く見やすいので、とても参考になります。

Interpreting esxtop 4.1 Statistics

http://communities.vmware.com/docs/DOC-11812

以上、PCPUについての記事紹介でした。

Version history
Revision #:
1 of 1
Last update:
‎01-06-2013 06:52 AM
Updated by: