VMware Global Community
HaryyHawk
Enthusiast
Enthusiast

esxtopで採取した性能情報の確認について

日本語フォーラム参加者各位

現在利用中のvSphere環境にて性能調査を行っております。

vSphere Clientで、ESXiホストを選択してパフォーマンスチャートの物理サーバのCPU Ready値(ミリ秒)を確認しています。
本パフォーマンスチャートでは、過去データがロールアップされて粒度があらくなるため、esxtopをバッチモードで採取しています。

esxtopは、以下のコマンド実行して全エンティティを取得を試みています。

esxtop -a -b -d 20 -n 180 > esxtop_yyyymmddhhmmss.csv

採取されたデータから、vSphere Clientのパフォーマンスチャートで物理サーバのCPU Readyと同等の項目をお分かりになるかたは

いますでしょうか?

esxtopの性能情報で、「Ready値」はGroup CPUカテゴリ内に複数存在しており物理サーバのReady値としてはどの項目を参照すべきかが

判りません。

esxtopに細かく解説されているサイトなど情報がありましたら、コメントいただけると幸いです。

Tags (1)
5 Replies
tnk4on
Contributor
Contributor

vSphere ClientのパフォーマンスチャートのCPU Ready値の単位はミリセカンドですが、esxtopのReady値はパーセンテージですね。

ですので直接の値の参照、変換はできないかと考えます。

esxtopの値は更新間隔ごとに差分が表示されていますが、パフォーマンスチャートとは非同期になりますので、ご質問の実現は難しいかと…

すでに参照済みかもしれませんが、esxtopについてはvSphereドキュメントに記載があります。

CPU パネル

残念ながら、ドキュメントにはパフォーマンスチャートの詳細表示における各パラメーターの説明はありませんでした。

0 Kudos
gowatana
Leadership
Leadership

こんにちは。

vCenterのパフォーマンスチャートでのCPU Readyは、

ESXi上の Readyの合計をもとに算出しているようです。

算出方法については、下記のKB差参考になると思います。

※このKBでは、Readyは「作動可能」と訳されています。

CPU 作動可能の合計値とパーセント値の間の変換

https://kb.vmware.com/kb/2002181?lang=ja

しかしesxtopのCSVからの算出は大変なので、

もしどうしても情報取得が必要なのであれば、PowerCLI を利用すると簡単かなと思います。

Ready だけに絞ってコマンドラインを例示すると下記のようになります。

vCenterでリアルタイムの場合に見られる統計情報なので「-Realtime」が必要です。

Get-VMHost <対象ESXiの名前> | Get-Stat -Realtime -Stat cpu.ready.summation

下記のような感じで、パフォーマンスチャートと同様の情報取得ができるので、

これを1時間以内ごとに取得して保存しておくと、ロールアップされてしまう情報も残すことができるはずです。

取得される情報は20秒単位です。

PowerCLI> Get-VMHost hv-i22* | Get-Stat -Realtime -Stat cpu.ready.summation | select Entity,MetricId,Timestamp,Value,Unit

| Export-Csv -Encoding UTF8 -NoTypeInformation -Path C:\work\ready.csv

PowerCLI> cat C:\work\ready.csv -First 5

"Entity","MetricId","Timestamp","Value","Unit"

"hv-i22.go-lab.jp","cpu.ready.summation","2018/06/21 0:37:20","93","millisecond"

"hv-i22.go-lab.jp","cpu.ready.summation","2018/06/21 0:37:00","64","millisecond"

"hv-i22.go-lab.jp","cpu.ready.summation","2018/06/21 0:36:40","56","millisecond"

"hv-i22.go-lab.jp","cpu.ready.summation","2018/06/21 0:36:20","80","millisecond"

PowerCLI>

以上です。参考になりますでしょうか。

HaryyHawk
Enthusiast
Enthusiast

tnk4onさん

コメントありがとうございました。

パフォーマンスチャートとesxtopの値は、計測単位が違うことを失念しておりました。

パフォーマンスチャートに固執しているわけではないので、esxtopにて計測した値で性能確認を

行っていきたいと思います。

0 Kudos
HaryyHawk
Enthusiast
Enthusiast

gowatanaさん

コメントありがとうございました。

esxtopで計測した値から、パフォーマンスチャートの値を算出できるのですね。

また、PowerCLIでの採取についても情報提供ありがとうございます。

どのような性能分析を行うべきか検討していきたいと思います。

0 Kudos
HaryyHawk
Enthusiast
Enthusiast

VMware KB『ESX/ESXi 仮想マシンのパフォーマンス問題のトラブルシューティング (2001003)』で公開されている情報を

参考にして性能評価を行おうと考えておりますが、以下の考え方で問題ないか助言をお願い致します。

CPUの評価

 -Load averageが「1.00以上」の値を示していないことの確認

  →『Physical Cpu Load』が存在するため、1 Minute Avgの値を確認する。

 -READYフィールドが「5%未満」を保っていることの確認

  →『Group CPU(仮想マシン名)\% Ready』を確認する。

   ※『Group CPU』や『Vcpu』のカウンタに複数の『% Ready』が存在するが上記カウンタのみ確認?

 -物理CPU使用率が「常時高い数値」ではないことの確認

  →『Physical Cpu(x)\% Util Time』および『Physical Cpu(0)\% Core Util Time』の値を確認する。

   ※Core Util Timeは、Hyper-Threadingが有効化された場合に、偶数番号のみを確認する。

メモリの評価

 -Memory Overcommitが「0」を維持していることを確認

  →『Memory\Memory Overcommit』を確認する。

   ※メモリオーバコミットされていなければ、「0」を維持できる。

 -バルーニングの値を確認

  →『Group Memory(仮想マシン名)\Memctl MBytes』を確認する。

   ※『Group Memory』のカウンタに複数の『Memctl MBytes』が存在するが上記カウンタのみ確認?

 -メモリスワップの値を確認

  →『Group Memory(仮想マシン名)\Swapped MBytes』を確認する。

   ※『Group Memory』のカウンタに複数の『Swapped MBytes』が存在するが上記カウンタのみ確認?

ディスクの評価

 -物理ディスクアクセスの評価

  →以下のカウンタの値を確認する。

   ・Physical Disk(x)\Average Driver MilliSec/Read、Write

   ・Physical Disk(x)\Average Kernel MilliSec/Read、Write

   ・Physical Disk(x)\Average Guest MilliSec/Read、Write

 -仮想ディスクアクセスの評価

  →以下のカウンタの値を確認する。

   ・Virtual Disk(仮想マシン名)\Average MilliSec/Read

   ・Virtual Disk(仮想マシン名)\Average MilliSec/Write

0 Kudos