Я хочу иметь небольшой пакетный скрипт, который запускается на сервере и каждый час регистрирует статистику памяти. У меня уже есть сценарий, который регистрирует специфичную для процесса информацию, которую я хочу с помощью других инструментов, но я хочу знать способ (либо непосредственно в cmd, либо через программу), который будет выводить общий объем выделенной памяти системы. Другими словами, я думаю, что общая статистика фиксации в диспетчере задач - это то, что я хочу узнать, но через командную строку:
2 ответа
3
Вы можете создать экземпляр и использовать класс 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
как упомянуто ниже, хотя, конечно, скрипт предоставляет вам гораздо большую гибкость.
0
wmic path Win32_PerfFormattedData_PerfOS_Memory get CommittedBytes, CommitLimit
Тестовый скрипт ...
Эти значения могут быть одинаковыми до тех пор, пока не будет исчерпано ОЗУ (CommitLimit и PeakCommitment * (размер страницы))
Пик ...
Запрос пиковых байтов фиксации с помощью Powershell (через NtQuerySystemInformation)