Что такое системный код Всего байт
Я пытаюсь использовать perfmon и, согласно MSDN, счетчик "Всего кодов системного кода"...
Показывает размер (в байтах) доступного для страниц кода операционной системы, который в настоящее время находится в виртуальной памяти. Это мера объема физической памяти, используемой операционной системой, которая может быть записана на диск, когда она не используется. Это значение рассчитывается путем добавления байтов в Ntoskrnl.exe, Hal.dll, загрузочных драйверов и файловых систем, загружаемых Ntldr/osloader. Этот счетчик не включает код, который должен оставаться в физической памяти и не может быть записан на диск.
Но разве это не противоречие? В нем говорится, что это "размер в виртуальной памяти", а в следующем предложении говорится, что это "объем используемой физической памяти". Насколько я понимаю, то, что виртуальная память существует, не означает, что ей сопоставлена физическая память, потому что память может быть выгружена в файл подкачки на диске, когда не хватает физической памяти. поэтому размер виртуальной памяти и размер физической памяти заметно различаются.
Другая вещь, которая меня смущает, это то, что "значение рассчитывается путем добавления байтов в Ntoskrnl.exe, Hal.dll, загрузочных драйверов и файловых систем, загружаемых Ntldr/osloader". Так не будет ли это число постоянным независимо от того, сколько этих файлов загружено в виртуальную / физическую память?
Может кто-нибудь помочь мне понять, что означает этот счетчик?
1 ответ
Вероятно, это опечатка, поскольку соответствующий счетчик "Резидентные байты системного кода" содержит описание "Показывает размер в байтах кода операционной системы, находящегося в настоящее время в физической памяти, который может быть записан на диск, когда он не используется". Далее поясняется, что "Это значение является компонентом общего объема байтов памяти \ системного кода, который также включает код операционной системы на диске".
Таким образом, "Всего кодов системного кода" - это общее количество байтов в виртуальной памяти, которое включает в себя как резидент (в физической памяти), так и нерезидент (на диске).
Что касается второго вопроса: значение для "Всего байт системного кода" может действительно быть довольно постоянным, но "Резидентные байты системного кода" могут не быть. Общее количество байтов используется для расчета процента байтов-резидентов / нерезидентов.