Xen Linuxゲストの場合、%steal
時間は、topやその他のユーティリティを介してすぐに利用できます。
ESXiやHyper-Vなどの非Xenハイパーバイザーを実行しているときに、Linuxゲスト内からこれと関連するメトリックを取得することは可能ですか?
Windowsゲストの場合、VMwareとMicrosoftの両方がperfmonカウンターを提供します。例:
しかし、これらはCentos6.4のVanillatop
を介して公開されていないようです。
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は次の場所にあります。
フィードバックと改善を歓迎します!
動作中の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%を失っています!