我正在使用IIS托管.net核心网站。我故意写了一种消耗所有服务器内存的方法。如何设置以便在dotnet进程超过某个内存限制时,它将自行回收。
我无法在红隼中找到任何选项。 IIS也不会有任何影响,因为它只是一个反向代理
答案 0 :(得分:0)
我能想到的唯一方法是在WMI事件订阅中使用powershell脚本来运行加班来监视和终止进程
$ processToMonitor =' Thunderbird.exe' $ threshold = 100MB
Register-WmiEvent -Query" SELECT * FROM __InstanceModificationEvent WITHIN 5 WHERE TargetInstance ISA' Win32_Process' AND TargetInstance.Name =' $ processToMonitor' AND TargetInstance.WorkingSetSize> $阈" -Action {Get-Process -PID $ event.SourceEventArgs.NewEvent.TargetInstance.ProcessId | Stop-Process -Force -ErrorAction SilentlyContinue | Out-Null}