仕事をする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 | 停止プロセス -強制 -ErrorAction SilentlyContinue | Out-Null }
したがって、WMI がメモリ不足の場合、上記の方法は機能しません。同じことを行う別の方法を使用できますか?
私が使用する場合:
タスクリスト | 「WmiPrvSE.exe」を見つけます
現在の WmiPrvSE プロセスを pid とメモリ使用量で吐き出します。そして、それをどのように使用できるかのアイデアはありますか?
この WMI リークの問題に対するパッチがありますが、すぐにすべてのサーバーにパッチを適用することはできません。