这里是新的StackOverflow用户。我需要帮助解决Apache的冻结问题。我在win764位上有一个WAMPServer设置,正在使用python/django/mysql/mod wsgi/matplotlib,尝试动态渲染的图像。我使用Apache来提供静态文件。在
我试图从MySQL数据库中绘制数据。我的视图.py文件在下面。当我通过访问相应的网页调用函数“view_Stats”时,它调用“CreateFig”函数来创建.png文件并将其保存到随后由Apache提供服务的目录中。它最初运行良好,但在Apache挂起之前,似乎最多可以对“CreateFig”函数进行8次调用。我必须重新启动Apache,但是它需要一段时间(几分钟)才能重新启动。在
查看Apache错误日志(见下文)显示了一个与Apache子进程相关的错误,它要求Apache强制终止它。我怀疑是某种内存泄漏/错误,但我对这一点很陌生,不能很好地进行故障排除;我在google上搜索了这个,并查看了StackOverflow,no joy。在
任何帮助都将不胜感激!在
[Tue Mar 11 17:01:07.550093 2014] [core:notice] [pid 2820:tid 404] AH00094: Command line: 'c:\\wamp\\bin\\apache\\apache2.4.4\\bin\\httpd.exe -d C:/wamp/bin/apache/Apache2.4.4'
[Tue Mar 11 17:01:07.551093 2014] [mpm_winnt:notice] [pid 2820:tid 404] AH00418: Parent: Created child process 3528
[Tue Mar 11 17:01:07.856093 2014] [mpm_winnt:notice] [pid 3528:tid 324] AH00354: Child: Starting 150 worker threads.
[Tue Mar 11 17:04:53.233893 2014] [mpm_winnt:notice] [pid 2820:tid 404] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[Tue Mar 11 17:05:23.248293 2014] [mpm_winnt:notice] [pid 2820:tid 404] AH00431: Parent: Forcing termination of child process 3528
代码来自视图.py如下所示:
^{pr2}$
这很可能是因为您在使用matplotlib时试图连接到(可能不存在)X服务器。如果您的web服务器上运行了X,您可能仍然希望避免使用matplotlib的交互式后端
(编辑:刚刚看到您在windows上。显然,在Windows上运行时,matplotlib并没有试图连接到X服务器,但我敢打赌,您的问题仍然与使用交互式后端和matplotlib试图连接到图形显示有关。)
如果要使用不带交互式绘图的matplotlib(即不需要X-server),则需要显式地使用非交互式后端。(例如
Agg
,pdf
等)首先,删除}不是你认为的那样,等等)。而且,你好像没有用它。您已经通过pyplot接口和
from pylab import *
。这是一个非常糟糕的主意,有很多原因(提示,min
和{numpy
通过numpy命名空间访问matplotlib功能。在接下来,在之前}之前执行:
import matplotlib.pyplot as plt
(如果决定不删除,则在{现在,matplotlib不会在每次创建新图形时尝试连接到X显示。在
相关问题 更多 >
编程相关推荐