
ゲスト OS から見た、Hyper-V システム上の最近の CPU とメモリの使用量のサンプルをプログラムで取得する必要があります。最近とは、過去数分以内のことを意味します。
ターゲットの Hyper-V システム (ホストもゲストも) をカスタマイズできません。そのため、パフォーマンス ログを構成したり、カスタム機能をインストールしたりできません。
私はこれを WMI クエリ経由で実行したいと思っていましたが、CPU またはメモリの履歴を提供する WMI クラスを特定できませんでした。
get-counterを試してみました(参照) コマンドを実行しましたが、履歴データは取得されません。むしろ、コマンドを実行した時点でサンプリングが開始されるようです。そのため、私のニーズには合いません。
Get-ClusterPerformanceHistory コマンド (参照) は有望に見えましたが、Windows 記憶域スペース機能が必要であり、私のケースでは無理でした。
WMI クエリまたは PowerShell コマンドを使用して必要な操作を実行する方法はありますか?
答え1
まあ、運が悪かったですね。記録されていないものを取得することはできません。パフォーマンス モニターの API を使用する必要がありますが、記録されるのは指示があったときだけです。誰かが設定していない限り、(システムの変更なので) あなたには設定できませんが、そのタスクをあなたに与えた人にサンタと話すように伝えてください。
Get-ClusterPerformanceHistory コマンド (ref) は有望に思えましたが、Windows 記憶域スペース機能が必要です。
これは、90% がストレージ スペースを備えたクラスターに依存し、主にそのデータを記録する機能であるにもかかわらず、なぜそう言えるのでしょうか。