方法 : プロセスのメモリ使用状況を調べる
更新 : 2007 年 11 月
プロセスのメモリ統計情報を表示する必要がある場合は、Process コンポーネントを使用して、実行時に 6 つのメモリ使用状況プロパティにアクセスできます。各プロパティは、メモリの割り当てに対して異なる統計情報を提供します。
プロセスのメモリ使用状況を調べるには
Process コンポーネントのインスタンスをプロセスに連結します。詳細については、「方法 : 既存のプロセスにバインドする」を参照してください。
プロパティ キャッシュを更新する必要がある場合は、Refresh メソッドを呼び出します。詳細については、「方法 : Process コンポーネントのプロパティを更新する」を参照してください。
適切なプロパティを参照して、必要なメモリ使用状況プロパティを読み取ります。
プロパティ
戻り値
関連するプロセスが割り当てたメモリのうち、ほかのプロセスと共有できないバイト数
関連するプロセスが割り当てたメモリのうち、仮想ページング ファイルに書き込み可能な最大メモリ容量
関連するプロセスのためにシステムが割り当てたメモリのうち、仮想メモリ ページング ファイルに書き込み可能なメモリ容量
関連するプロセスが割り当てたメモリのうち、仮想メモリ ページング ファイルに書き込み可能なメモリ容量
関連するプロセスのためにシステムが割り当てたメモリのうち、仮想メモリ ページング ファイルに書き込みできないメモリ容量
次の例は、Process コンポーネントを使用して、メモ帳の PrivateMemorySize64 プロパティを読み取り、返されたプロパティ値を NotepadMemory に割り当てる方法を示しています。その後で、値はコンソールに表示されます。Component1(0) は Process コンポーネントの新しいインスタンスであるため、プロパティ キャッシュを更新する必要はありません。
Dim NotepadMemory As Long Dim component1() As Process component1 = Process.GetProcessesByName("Notepad.exe") NotepadMemory = component1(0).PrivateMemorySize64 Console.WriteLine("Memory used: " & NotepadMemory & ".")
long memory; Process[] notepads; notepads = Process.GetProcessesByName("Notepad.exe"); memory = notepads[0].PrivateMemorySize64; Console.WriteLine("Memory used: {0}.", memory);