none
如何准确反映进程已分配的内存? RRS feed

答案

  • Hi Flysha,

    其实你所列出的各个标示内存使用量的属性是没有可比性的,因为有一部分是会获取即时值, 而另一部分带"Peak"的则获取的是峰值, 所以我想你要比较的应该是这几个属性:
    WorkingSet64
    PagedMemorySize64
    PagedSystemMemorySize64
    PrivateMemorySize64
    VirtualMemorySize64
    你可以在这篇MSDN文档中分别去查看对这几个属性的说明, 以便选择符合你需求的属性来反映程序所分配的内存.

    要注意物理内存和虚拟内存之间的区别与联系:
    物理内存包括所有位于计算机内的可写内存。物理内存用于储存诸如操作系统、视频数据及计算机用于运行程序的指令和数据之类的内容. 
    虚拟内存可视为分配给应用程序的内存。操作系统使用硬盘的一部分作为虚拟内存,在硬盘和物理内存之间交换数据和指令.  
    虚拟内存使多任务成为可能。在执行多任务期间,系统中可能运行的所有程序的内存需求在同一时间内远超过可用的物理内存容量。操作系统就分配虚拟内存以满足每个程序的总的内存需求,然后管理可用的物理内存以便及时地在给定的时刻满足实际的内存需求。所以.被分配的虚拟内存的容量可以远大于计算机内安装的物理内存容量.

    祝你快乐每一天,


    Leo Liu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 Flysha 2011年8月19日 3:40
    2011年8月18日 9:20
    版主