3

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

1

2 ответа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)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .