在没有缓存的情况下,使用python和/或Powershell可以获得RAM利用率吗?

在没有缓存的情况下,使用python和/或Powershell可以获得RAM利用率吗?,python,powershell,utilization,Python,Powershell,Utilization,有没有办法在不使用缓存RAM的情况下,通过powershell/Python获得RAM利用率? 我们希望监控系统参数的利用率。目前,我在powershell中使用它,它每30分钟由任务计划程序调用一次,并进行其他参数检查: ... $counts = 6 $Samples = 145 for($j=0; $j -lt $counts; $j++){ $temp = 0 $result = 0 for ($i=0; $i -lt $Samples; $i++){

有没有办法在不使用缓存RAM的情况下,通过powershell/Python获得RAM利用率? 我们希望监控系统参数的利用率。目前,我在powershell中使用它,它每30分钟由任务计划程序调用一次,并进行其他参数检查:

...
$counts = 6
$Samples = 145
for($j=0; $j -lt $counts; $j++){
    $temp = 0
    $result = 0
    for ($i=0; $i -lt $Samples; $i++){
        $os = Get-WMIObject Win32_OperatingSystem
        $os | select *memory*
        $pctUsed = [math]::Round(100-($os.FreePhysicalMemory/$os.TotalVisibleMemorySize)*100,2)
        $temp = $pctUsed + $temp
        Start-Sleep -s 2
    }
$result = $temp/$Samples
...
然后发送给我们的监控应用程序


如果没有缓存,我们如何获取RAM?有办法吗?

是的,但您必须做一些工作才能将原始数据转换为MBs/GBs。查看
Get Counter-ListSet*memory*|选择Object-ExpandProperty Counter
列出所有可用于获取所需信息的性能数据属性名称。例如:
Get Counter'\Memory\Available MBytes'
我为GPU监控设置了我的矿工,从矿工那里获取信息,让我知道何时使用“Get-Counter-ListSet Memory”| Select Object-ExpandProperty Counter'',例如,我只能找到“GPU内存”和“.NET内存缓存”。我找不到“”内存\可用MB“”。然后我得到消息,在计算机上找不到对象。是否添加通配符?是的,我输入
get Counter'\Memory\Available MBytes'