Process Explorer v15 と仮想マシンの GPU|Windows Server|ブログ|Computerworld

header_cwr_head_mid_fl_logo

CW_ウルトラバナー_Topics04

CW_ウルトラバナー_Topics05

CW_ウルトラバナー_Topics06

CW_ウルトラバナー_Topics07

CW_ウルトラバナー_Topics08

Windows Server

Process Explorer v15 と仮想マシンの GPU

Posted by 山市良 ( 2011年11月28日 )

前回は Windows Sysinternals の Coreinfo v3 について取り上げました。今回は、Sysinternals つながりで、Sysinternals の代名詞?とも言える Process Explorer のお話です。 Process Explorer で GPU (CPU ではない) のアクティビティを監視できるって知ってましたか?

Windows Sysinternals は、ひんぱんに更新されています (前回の ProcFeatures などリタイヤ組も)。今回登場する Process Explorer は Sysinternals の中でも歴史の古いユーティリティの 1 つ。タスク マネージャーの高機能版と表現されることもありますが、比べるのがかわいそうなくらい (タスク マネージャーさんが)。このブログを書いている時点での最新バージョンは 15.05 (2011 年 9 月 20 日リリース) です。

日本語サイトの各ユーティリティの説明には新しい情報が反映されていないことが多く、更新バージョンのリリースや新機能について見逃してしまいます。最新情報を追いかけるには、以下の英語ページの What's New を定期的にチェックするか、Site Blog リンクの先にあるブログの RSS 購読をお勧めします。

http://technet.microsoft.com/en-US/sysinternals

Process Explorer v15 (リンク先は英語サイト) は、今年 (間もなく師走ですが) の 7 月 18 日、Sysinternals 15 周年 (マイクロソフトに買収される前の Winternals Software の創業 1996 年から数えて) に合わせてリリースされました。このとき、GPU (Graphics Processing Unit) 使用率とグラフィックス メモリの使用状況の監視機能が追加されています (Windows Vista 以降のみ)。Process Explorer の日本語サイト (リンク先) は、英語サイトと説明がまったく違ってますし、GPU のことなんてまったく触れられていません (英語サイトのほうはスクリーンショットに GPU タブが見えます)。

この新機能により、Internet Explorer 9 や Windows Media Player、Aero を提供するウィンドウ デスクトップ マネージャー (dwm.exe) などが、GPU を活用していることが確認できます。ほら、このように。

仮想マシンも仮想 GPU を提供できるものがあります。VMware Workstation や VMware Player はその 1 つ。VMware Tools をゲストOSにインストールすると、WDDM 対応ドライバが導入され、Process Explorer で GPU を監視できるようになります。3D グラフィックス アクセラレーションの有効/無効にかかわらず、GPU の監視が可能です。ほら、Windows 7 ゲストだとこんなかんじ。ちなみに、Windows Vista だとダメでした (GPU タブが表示されず)。

Oracle VM VirtualBox は、実験的に Direct3D Support を利用可能です。Oracle VM VirtualBox Guest Additions で Direct3D Support をインストールし、仮想マシンのディスプレイ設定で 128 MB 以上のビデオ メモリを割り当て、さらに 3D アクセラレーションを有効化したところ、ゲストの Process Explorer に GPU タブが表示されるようになりました。こちらも、Windows Vista ではダメでした。

Windows Virtual PC の仮想マシンは、S3 Trio32/64 をエミュレートするだけなので、当然ながら Process Explorer に GPU タブは表示されません。ただし、仮想マシンで統合機能を有効にすると、ホスト側のプロセス VMWindow.exe が GPU を利用していることを確認できます。これは、Windows Virtual PC の統合機能が RDP テクノロジを利用しているから。RDP 7.x では、クライアントの GPU を利用して、Aero 表示や Windows Media Player の描画を処理できます。

Windows Virtual PC では、VMWindow.exe が RDP クライアントとして動いていて、ホストの GPU を活用しているわけです。実際には VMWindow.exe が読み込む mstscax.dll (リモート デスクトップ サービス ActiveX コントロール) がクライアント機能を提供しているのですが。ほら、Process Exlplorer ってすごい。

ツールメニューから統合機能を無効にするとどうなるかというと、ホスト側での GPU の使用はパタリと無くなります。こんなかんじに。

Windows Virtual PC の統合機能に関する解説は『Windows Server 仮想化テクノロジ入門』(日経 BP、2011 年、山内和朗) が私のお勧め。次の Windows Server 2008 R2 SP1 の RemoteFX についても詳しく載っています(PR です)。

Windows Server 2008 R2 の Hyper-V とリモートデスクトップサービス (RDS) なら、RemoteFX 3D ビデオ アダプターが利用できます。Process Explorer に GPU タブが出てくるか試してみようと思いましたが、RDSの評価期間 (120日) が切れていました (RemoteFX を利用するには、RD ライセンス サーバーの指定と RDS CAL を導入しないと、機能しなくなります)。そこで、最近入れた Windows Server Developer Preview (開発コード名:Windows 8) で試してみました。ちゃんと仮想マシンのゲストで GPU を利用できているのがわかります。ホストの GPU 使用率に変化がないので、ホストで動かす Process Explorer はホストだけの GPU 使用を見ているようですね。

GPU を活用するアプリケーションは今後、どんどん増えていくでしょうが、ほんとうに活用されているかどうかはなかなか見えないもの。そんなとき、Process Explorer のこの機能を思い出してください。

なお、Process Explorer については、COMPUTERWORLD の以下の記事もご参考に。v15 以前の解説記事なので、GPU 監視機能は説明されていませんが。

【Windows Sysinternalsを使い倒せ 第1回】 Process Explorerを使い倒せ! 〜Windowsのプロセスを把握する〜 by 国井傑さん (2011 年 2 月 25 日)

ページの先頭へ戻る