web-dev-qa-db-ja.com

VMwareおよびHyper-VハイパーバイザーでのCPU%stealの測定

Xen Linuxゲストの場合、%steal時間は、topやその他のユーティリティを介してすぐに利用できます。

ESXiやHyper-Vなどの非Xenハイパーバイザーを実行しているときに、Linuxゲスト内からこれと関連するメトリックを取得することは可能ですか?

Windowsゲストの場合、VMwareとMicrosoftの両方がperfmonカウンターを提供します。例: vmware perfmon

しかし、これらはCentos6.4のVanillatopを介して公開されていないようです。

6
Yolo Perdiem

VMwareゲスト内でこれら(およびそれ以上)のパフォーマンスカウンターを取得する唯一の方法は、vmware-toolsに同梱されているVMGuestLib SDKを使用することです。

pythonこのライブラリのラッパーを作成しました。これらのカウンターにアクセスするためのpython-vmguestlibおよびツールvmguest-statsと呼ばれます。さらに、これらのパフォーマンスカウンターを他のシステムと関連付けるための3つのDstatプラグインがあります。リソース。次のように簡単です。

dstat -c –vm-cpu -m –vm-mem –vm-mem-adv

pythonラッパー、vmguest-statsツール、およびDstatは次の場所にあります。

フィードバックと改善を歓迎します!

6
Dag Wieers

動作中のvSphereクラスターは過負荷ですが、通常のZabbix測定ツールはCPUスチール時間を示していませんでした。 Dagのおかげで、私は彼のテストプログラムを利用して、次のように盗難率を出力するためのスクリプトを作成しました。

#!/usr/bin/python

import sys, os, time
sys.path.append(os.path.join('/root/dagwieers/vmguestlib/'))

from vmguestlib import VMGuestLib

gl = VMGuestLib()

gl.UpdateInfo()
stolen_ms_1 = gl.GetCpuStolenMs()

time.sleep(1)

gl.UpdateInfo()
stolen_ms_2 = gl.GetCpuStolenMs()

# print percentage of stolen time
print '%d' % ((stolen_ms_2 - stolen_ms_1) / 10)

gl.CloseHandle()

それは私が思ったことを確認しました、私はしばしば私のCPU時間の75%を失っています!

0
Paul M