我正在尝试使用 PowerShell 获取 Windows 2012 服务器系统上的缓存字节总数,微软的该指标文档似乎存在一些矛盾。
根据这个网站,
Memory\Cache Bytes 性能计数器是 Memory\System Cache Resident Bytes、Memory\System Driver Resident Bytes、Memory\System Code Resident Bytes 和 Memory\Pool Paged Resident Bytes 计数器的总和。
但是,当我查询以下 PowerShell cmdlet 时,会得到不同的结果。
get-counter -counter "\Memory\Cache Bytes"
返回大约 50 MB,而
(get-counter -counter "\Memory\System Cache Resident Bytes").CounterSamples[0].CookedValue +
(get-counter -counter "\Memory\System Driver Resident Bytes").CounterSamples[0].CookedValue +
(get-counter -counter "\Memory\System Code Resident Bytes").CounterSamples[0].CookedValue +
(get-counter -counter "\Memory\Pool Paged Resident Bytes").CounterSamples[0].CookedValue
返回大约 201 MB。
我还使用任务管理器中的缓存值检查了这些值,显示的值约为 500 MB。
有人对哪个值是正确的有任何想法吗?
谢谢!