如何:调查进程的内存使用情况
更新:2007 年 11 月
如果需要查看进程的内存统计信息,可以使用 Process 组件,因为该组件提供了六个可在运行时访问的内存使用属性。每个属性提供不同的内存分配统计信息。
调查进程的内存使用
将一个进程组件实例绑定到该进程。有关更多信息,请参见如何:绑定到现有进程。
如果属性缓存需要刷新,应调用 Refresh 方法。有关更多信息,请参见如何:刷新进程组件属性。
通过引用适当的属性读取所需的内存使用情况属性。
属性
返回
返回关联进程已分配的、不能与其他进程共享的字节数。
返回关联进程已分配的、可写入虚拟内存分页文件的最大内存量。
返回系统代表关联进程分配的、可写入虚拟内存分页文件的内存量。
返回关联进程已分配的、可写入虚拟内存分页文件的内存量。
返回系统代表关联进程分配的、不可写入虚拟内存分页文件的内存量。
下面的示例演示如何使用 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);