Apache2 如果空闲的apache进程占用太多内存,请将其杀死

Apache2 如果空闲的apache进程占用太多内存,请将其杀死,apache2,mod-wsgi,Apache2,Mod Wsgi,我有几个HTTP请求导致了一些严重的内存使用(运行一个带有mod wsgi的Python Django应用程序)。 我的问题是,这些进程似乎闲置了一段时间 有没有办法告诉apache杀死一个消耗了X兆内存的空闲进程? 请求已成功处理。不,目前没有。不过,您可以将具有大量临时内存使用的特定URL委托给一个单独的mod_wsgi守护进程进程组,该进程组上设置了非活动超时,这样,如果对该URL的请求不频繁,当该进程暂时不使用时,它将重新启动进程并回收内存。如果没有足够长的非活动时间来触发非活动超时,您

我有几个HTTP请求导致了一些严重的内存使用(运行一个带有mod wsgi的Python Django应用程序)。 我的问题是,这些进程似乎闲置了一段时间

有没有办法告诉apache杀死一个消耗了X兆内存的空闲进程?
请求已成功处理。

不,目前没有。不过,您可以将具有大量临时内存使用的特定URL委托给一个单独的mod_wsgi守护进程进程组,该进程组上设置了非活动超时,这样,如果对该URL的请求不频繁,当该进程暂时不使用时,它将重新启动进程并回收内存。如果没有足够长的非活动时间来触发非活动超时,您可以改为使用最大请求数,并根据请求数每隔一段时间循环一次

WSGIDaemonProcess main processes=3 threads=5
WSGIDaemonProcess memory-hungry-1 threads=5 inactivity-timeout=60
WSGIDaemonProcess memory-hungry-2 threads=5 maximum-requests=20

WSGIProcessGroup main
WSGIApplicationGroup %{GLOBAL}

</Location /memory/hungry/url-1>
WSGIProcessGroup memory-hungry-1
</Location>

</Location /memory/hungry/url-2>
WSGIProcessGroup memory-hungry-2
</Location>
WSGIDaemonProcess主进程=3个线程=5
WSGIDaemonProcess内存不足-1线程=5非活动超时=60
WSGIDaemonProcess内存不足-2个线程=5个最大请求=20
WSGIProcessGroup主
WSGIApplicationGroup%{GLOBAL}
WSGIProcessGroup内存饥饿-1
WSGIProcessGroup内存饥饿-2
换句话说,垂直划分WSGI应用程序以跨多个守护进程组运行。这样,您就可以定制进程/线程和其他特定于守护进程的设置,以满足应用程序特定部分的要求