Что такое PrivatePageCount в Win32_Process? - PullRequest
0 голосов
/ 27 апреля 2019

PrivatePageCount документация говорит:

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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...