为什么 FastCGI 的应用程序池内存使用率很高

Why would the App Pool memory use be high for FastCGI

我写了一个 FastCGI 服务器应用程序,它似乎工作得很好。最终用户告诉我,他们通常有大约 10-12 个我的 exe 运行 实例,使用 11-32MB 内存。这对于它正在做的事情来说是完全合理的。

问题是w3wp.exe内存使用范围很广,高达500MB。

我想知道是什么导致了这种高内存使用。我唯一的猜测是它是尚未传递到我的应用程序的传入数据和正在发送到客户端应用程序的传出数据。

如果这是正常的,他们是否有办法让它释放内存?拥有多个工作进程会是个好主意吗?

您可以使用 IIS 应用程序池回收选项来回收 IIS w3wp.exe 进程并减少任何内存泄漏。您可以根据虚拟内存使用情况、私有内存使用情况等,在多次请求后,在特定时间定期回收进程。在您的情况下,您可以将虚拟 memory/private 内存使用回收阈值设置为 200 MB 和试试。

可以在 IIS 管理器-> 应用程序池-> 回收设置中进行设置

下面是 Link 更多详情

https://docs.microsoft.com/en-us/iis/configuration/system.applicationhost/applicationpools/add/recycling/