顶峰 ...

顶峰 ...

我想要一个在服务器上运行的小批处理脚本,每小时记录一次内存统计信息。我已经让脚本通过其他工具记录我想要的进程特定信息,但我想知道一种方法(直接在 cmd 上或通过程序)输出系统的总已提交内存。换句话说,我认为承诺收费总额我想要知道任务管理器中的统计信息,但通过命令行:

1

答案1

您可以实例化并使用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)

保存名称如下获取内存文件并使用 进行调用cscript //Nologo GetMem.vbs。该类也可以通过wmic下面提到的命令来使用,当然,脚本可以为您提供更多的灵活性。

答案2

wmic path Win32_PerfFormattedData_PerfOS_Memory get CommittedBytes, CommitLimit

测试脚本...

这些值可能相等,直到 RAM 耗尽(CommitLimit 和 PeakCommitment*(页面大小))

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

顶峰 ...

使用 Powershell 查询峰值提交字节数(通过 NtQuerySystemInformation)

在此处输入图片描述

在此处输入图片描述

相关内容