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
?