2011-12-20 26 views
3

コードがVM内で実行されているときに、ホストコンピュータの物理CPUの数を知る方法があるかどうかを知りたいと思います。仮想マシン内の物理プロセッサの数を取得する

WindowsおよびVmWare(workstation/esxi)およびHyperVで動作するC++ /アセンブリソリューションを探しています。非常に曖昧な質問に申し訳ありませんが、いくつかの検索を行った後、の中にの仮想マシンを実行できるかどうかはわかりません。

答えて

5

VMの概念は、あなたのコード(あなたのOSも)がリソースを共有していることを知らないということです。

だから、最初のintanceで、いいえ。可能性のある回避策は、VMが明示的に提供したものです(私はVMWare Toolsについて考えていますが、APIを提供するかどうかはわかりません)。

+0

VM APIを使用してこの情報を取得する方法があります。ゲストOSにはVMであることを識別する方法がありますが、同じチャネルでより詳細なハードウェア情報を取得できるかどうかはわかりません。 (VmWareの場合、アセンブリコードの一部はVmWareであることを示しています.HeperVの場合はWMIクエリです。)VM APIでは、通常、ホストにポートを開いて詳細情報を取得します。 VM内で実行されたジョブ – xxbbcc

+0

答えをありがとう - 私は、このレベルの詳細を得ることは不可能かもしれないと思った。私はまだこれを行う方法を望んでいた。 – xxbbcc

関連する問題