如何:调查进程的内存使用情况

更新:2007 年 11 月

如果需要查看进程的内存统计信息,可以使用 Process 组件,因为该组件提供了六个可在运行时访问的内存使用属性。每个属性提供不同的内存分配统计信息。

调查进程的内存使用

  1. 将一个进程组件实例绑定到该进程。有关更多信息,请参见如何:绑定到现有进程

  2. 如果属性缓存需要刷新,应调用 Refresh 方法。有关更多信息,请参见如何:刷新进程组件属性

  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 进程的介绍

其他资源

检索关于进程的信息