どの VmWare VM がプロセス (pid) (Windows ホスト上) に関連付けられていますか?

どの VmWare VM がプロセス (pid) (Windows ホスト上) に関連付けられていますか?

私は強力なWindowsホスト上で複数のVMを実行しています。VMの1つがCPUスピンモードになり、ホストCPUの100%を占有する

HOST と他の VM を使用できるようにするには、動作がおかしい VM を見つけて、プロセッサ アフィニティを 1 つの論理 CPU に設定すると、マシンの残りの部分が使用できるようになります。

回転式ドライブからソリッド ステート ドライブに移行した後、この作業を実行する私のアプローチは機能しなくなりました。以前は、Windows タスク マネージャーを使用して動作不良の PID を見つけ、次に Windows リソース モニターのディスク アクティビティを使用して VM を見つけていました。次のようなファイルが表示されていました。

J:\Virtual Machines\vm123\vm123-000004.vmdk

この情報から、動作不良の VM は vm123 であることがわかります。ただし、SSD ドライブに移動した後、ディスク アクティビティが表示されません。そのため、この情報を取得する別の方法を見つける必要があります。ディスク アクティビティは 1 ミリ秒未満であることが多いため表示されないと推測していますが、確信はありません。

今のところ、ProcessExplorerを使用しますSysinternals ツール (docs.microsoft.com/.../downloads/sysinternals-suite)プロセスに関連付けられているすべてのハンドルと、実行中のプロセスの完全なコマンド ラインが表示されます。

特定の PID に関連付けられている VmWare VM を取得するにはどうすればよいですか? 答えが得られる Windows コマンドまたは PowerShell コマンドがあると思います。

一般的な Windows インストールの一部であり、サードパーティのインストールされたソフトウェアを使用しないソリューションを見つけようとしています。

答え1

Sysinternals Process Explorer を使用する必要はありません。Windows に組み込まれているタスク マネージャーを使用して、vmware-vmx.exeプロセスのコマンド ラインを表示できます。[詳細] タブに移動し、列見出しを右クリックして [コマンド ライン] 列を追加して有効にする必要があります。(また、Sysinternals は厳密にはサードパーティ ソフトウェアではなく、Microsoft の一部です。)

コマンドラインをプログラム的に取得するには、 実行中のプログラムのコマンド ライン引数を調べるにはどうすればよいでしょうか?

別の方法としては、実行中の VM のファイル (VM のディレクトリにある) を調べることですvmware.log。最初の行に、使用されている PID が表示されます。

関連情報