方法 : プロセスのメモリ使用状況を調べる

更新 : 2007 年 11 月

プロセスのメモリ統計情報を表示する必要がある場合は、Process コンポーネントを使用して、実行時に 6 つのメモリ使用状況プロパティにアクセスできます。各プロパティは、メモリの割り当てに対して異なる統計情報を提供します。

プロセスのメモリ使用状況を調べるには

  1. Process コンポーネントのインスタンスをプロセスに連結します。詳細については、「方法 : 既存のプロセスにバインドする」を参照してください。

  2. プロパティ キャッシュを更新する必要がある場合は、Refresh メソッドを呼び出します。詳細については、「方法 : Process コンポーネントのプロパティを更新する」を参照してください。

  3. 適切なプロパティを参照して、必要なメモリ使用状況プロパティを読み取ります。

    プロパティ

    戻り値

    PrivateMemorySize64

    関連するプロセスが割り当てたメモリのうち、ほかのプロセスと共有できないバイト数

    PeakVirtualMemorySize64

    関連するプロセスが割り当てたメモリのうち、仮想ページング ファイルに書き込み可能な最大メモリ容量

    PagedSystemMemorySize

    関連するプロセスのためにシステムが割り当てたメモリのうち、仮想メモリ ページング ファイルに書き込み可能なメモリ容量

    PagedMemorySize

    関連するプロセスが割り当てたメモリのうち、仮想メモリ ページング ファイルに書き込み可能なメモリ容量

    NonpagedSystemMemorySize

    関連するプロセスのためにシステムが割り当てたメモリのうち、仮想メモリ ページング ファイルに書き込みできないメモリ容量

    次の例は、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);
    

参照

処理手順

方法 : 既存のプロセスにバインドする

概念

Windows プロセスの監視と管理の概要

その他の技術情報

プロセスに関する情報の取得