Как получить отчет командной строки Windows об общем выделенном объеме памяти (фиксированном заряде)?

Я хочу иметь небольшой пакетный скрипт, который запускается на сервере и каждый час регистрирует статистику памяти. У меня уже есть сценарий, который регистрирует специфичную для процесса информацию, которую я хочу с помощью других инструментов, но я хочу знать способ (либо непосредственно в cmd, либо через программу), который будет выводить общий объем выделенной памяти системы. Другими словами, я думаю, что общая статистика фиксации в диспетчере задач - это то, что я хочу узнать, но через командную строку:

1

2 ответа

Решение

Вы можете создать и использовать класс Win32_PerfFormattedData_PerfOS_Memory для этого через VBScript:

Set wmiObject = GetObject("winmgmts:\\.\root\cimv2:Win32_PerfFormattedData_PerfOS_Memory=@")
Wscript.Echo "CommitLimit  (B): " & wmiObject.CommitLimit
Wscript.Echo "CommitLimit (MB): " & (wmiObject.CommitLimit / 1048576)
Wscript.Echo "CommittedBytes  (B): " & wmiObject.CommittedBytes
Wscript.Echo "CommittedBytes (MB): " & (wmiObject.CommittedBytes / 1048576)

Сохраните с именем, подобным GetMem.vbs, и используйте cscript //Nologo GetMem.vbs, Класс также может быть использован через wmic Команда, как указано ниже, хотя, конечно, сценарий предоставляет вам гораздо больше гибкости.

wmic path Win32_PerfFormattedData_PerfOS_Memory get CommittedBytes, CommitLimit

Тестовый скрипт...

Эти значения могут быть одинаковыми до тех пор, пока не исчерпается ОЗУ (CommitLimit и PeakCommitment*(размер страницы))

введите описание здесь

введите описание здесь

введите описание здесь

введите описание здесь

введите описание здесь

Пик...

Запрос пиковых байтов фиксации с помощью Powershell (через NtQuerySystemInformation)

введите описание здесь

введите описание здесь

Другие вопросы по тегам