如何在IIS中的kestrel托管中限制内存使用.net核心网站

时间:2017-02-05 12:15:36

标签: iis memory .net-core kestrel-http-server

我正在使用IIS托管.net核心网站。我故意写了一种消耗所有服务器内存的方法。如何设置以便在dotnet进程超过某个内存限制时,它将自行回收。

我无法在红隼中找到任何选项。 IIS也不会有任何影响,因为它只是一个反向代理

1 个答案:

答案 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}