什么是Win32_Process中的PrivatePageCount?

时间:2019-04-27 07:25:19

标签: c# windows wmi

PrivatePageCount documentation说:

  

PrivatePageCount

     

数据类型:uint64

     

限定符:MappingStrings(“ Win32API |进程状态| SYSTEM_PROCESS_INFORMATION | PrivatePageCount”),DisplayName(“私有页数”)

     

当前分配的页数,仅此Win32_Process实例表示的进程可以访问。

但是检查ManagementObjectSearcher值,它看起来与PageFileUsage相同,但以字节为单位,而不是千字节。

using (var items = new ManagementObjectSearcher(String.Format("Select * From Win32_Process")).Get())
{
    foreach (var item in items)
    {
        var PageFileUsage = (UInt32)item["PageFileUsage"]; // kb
        var PrivatePageCount = (UInt64)item["PrivatePageCount"]; // same as PageFileUsage?

        Debug.Assert(PageFileUsage == (PrivatePageCount / 1024));
    }
}

将此值乘以系统的页面大小(Environment.SystemPageSize),得到的值以太字节为单位,但是它不接近虚拟内存(地址空间)。

文档是否有误,PrivatePageCount等同于PageFileUsage

0 个答案:

没有答案