我找到了一个可以完成这项工作的 powershell 版本,但它使用 WMI,这就是我遇到的问题,它泄漏并达到 512MB 屋顶并停止“内存不足”工作。
$processToMonitor = 'wmiprvse.exe' $threshold = 513MB
Register-WmiEvent -Query "SELECT * FROM __InstanceModificationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name='$processToMonitor' AND TargetInstance.WorkingSetSize > $threshold" -Action { Get-Process -PID $event.SourceEventArgs.NewEvent。 TargetInstance.ProcessId | Stop-Process -Force -ErrorAction SilentlyContinue | 外空 }
因此,当 WMI 内存不足时,上述方法将不起作用,那么我可以使用其他方式来做同样的事情吗?
如果我使用:
任务清单 | 找到“WmiPrvSE.exe”
它用 pid 和内存使用情况吐出当前的 WmiPrvSE 进程。以及我如何使用它的想法?
这个 WMI 泄漏问题有一个补丁,但我无法尽快修补所有服务器。