仮想マシンのメモリ使用量がTaskManagerに表示されない


28

Windowsのメモリ管理について何かがあり、それがTaskManagerとの関係で理解できないので、誰かが私を啓発できることを望んでいます。

仮想マシンを実行している場合(Virtual PC 2007、Virtual Server 2005、またはVirtualBoxは同じように動作するため問題ありません)、TaskManagerを起動すると、プロセスタブにVMのエントリが表示されますが、メモリ値はかなり小さい(約30 MB)。明らかに、VM自体によって実際に消費されているメモリは含まれていません。表示できるメモリ関連のさまざまな列は、動作が異なるようには見えません。[パフォーマンス]タブの[メモリ使用量]は、VMを含む総メモリ使用量に対して正しいようです。

私の質問は、VMのメモリ使用量(100 MBになります)が[プロセス]タブに表示されないのはなぜですか?

回答:


30

VirtualPC、HyperV、および同様の製品は、ドライバーロックメモリと呼ばれるものを使用します。これは、プロセスエクスプローラー、タスクマネージャーなどに は表示されません。RAMMapは、プロセスで使用されるドライバーロックメモリを表示します。


1
レコードの場合、RAMMapはVista以降のみです。
ティム・アベル

1
RAMMapはプロセスのロックされたメモリを表示しませんでしたが、ロックされたメモリの合計を表示しました
NeDark 2014年

他の人に指摘するために、彼はプロセスがロックしたメモリを言っていませんでした。彼は、ドライバーがメモリをロックしたと言いました。それが動的メモリの仕組みです。気に入らない場合、またはアプリが混乱していると思われる場合は、動的ではなく静的メモリ用にVMを構成できます。VMで動的メモリを使用し、静的に設定するとグリッチが修正されると、いくつかのJavaアプリに問題があることがわかりました
ジョンC

実際にどのプロセスがそのメモリを割り当てますか?SysInternalsのVMMapを試してみましたが、適切なVBoxHeadless.exeプロセス(プロセスツリーブランチのリーフ、つまり他の子がない場合、Process Explorerを使用して見つけることができます)を選択すると、その「失われた」メモリそのプロセスのPrivate BytesWorking Setの両方に表示されます(Process Explorerの両方の値がはるかに少ない場合でも)。だから、なぜそれらが異なる値を表示しているのか少し混乱していますが、VMMapは実数を表示するようです。
ダウィド・フェレンツィ・ロゴザン

6

リストしたようなホスト型仮想化システムには、ホストOSのカーネル内で実行されるデバイスドライバーが含まれます。これは、ユーザーモードプログラムが仮想マシンの作成に必要な命令を発行できないために必要です。

タスクマネージャーにメモリが表示されないのは、仮想マシンに実際にメモリを割り当てたカーネルモードデバイスドライバーではなく、仮想マシンに関連付けられたユーザーモードプログラムのメモリを見ているためです。


実際にどのプロセスがそのメモリを割り当てますか?私が試してみましたSysInternalsのVMMapましたが、適切なVBoxHeadless.exeプロセス(プロセスツリーブランチのリーフ、つまり他の子がない場合、Process Explorerを使用して見つけることができます)を選択すると、その「失われた」メモリそのプロセスのPrivate BytesWorking Setの両方に表示されます(Process Explorerの両方の値がはるかに少ない場合でも)。だから、なぜそれらが異なる値を表示しているのか少し混乱していますが、VMMapは実数を表示するようです。
ダウィド・フェレンツィ・ロゴザン

5

VMが使用中のメモリ量を表示するには、タスクマネージャーに[ワーキングセット]列が表示されていることを確認する必要があります。多くの場合、プライベートセットのみが表示されます。

この列を有効にするには:

1)タスクマネージャーを起動する

2)[プロセス]タブに移動します

3)[表示]> [列の選択]

4)「メモリ-ワーキングセット」がチェックされていることを確認します

たとえば、現在実行しているVMのプライベートセットは43 MBですが、ワーキングセットは2.3 Gbです


1
アプリケーションが使用するメモリの全量とは何ですか?ワーキングセット+プライベートセット、または単なるワーキングセットですか?
ゼンダー2009年

2
おそらく、Windowsのバージョンが異なると異なりますが、Windows 7ではそれは私が見ているものではありません。「Working Set」の番号は「Private Working Set」の番号よりも大きくなりますが、VMのメモリを説明するのに十分なリモートではありません。私はすべてのメモリ関連の列を試しましたが、どれもしませんでした。これは、Windows Virtual PCとVirtualBoxの両方で使用できます。どのバージョンのWindowsとどのVMホストを使用していますか?
スコットBussinger 09年

残念ながら、共有メモリ、ファイルマップメモリ​​、ページアウトメモリなどの複雑な問題が発生するため、プロセスが使用している「メモリ量」を示す単一の数字はありません。ここではいくつかの概念の良い説明です:stackoverflow.com/questions/1984186/...
tylerl

ワーキングセットがこの場合に役立つことを伝えているとは思わない。VM内では、VirtualBoxのプロセスがワーキングセットで100 MBを超えて消費しないのに対し、約6 GBのメモリを使用すると報告されています。
ダウィド・フェレンツィ・ロゴザン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.