こんな記事を見つけました。
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についての記事紹介でした。