【发布时间】:2012-03-27 22:55:16
【问题描述】:
我有一个 Ubuntu 11.10 64 位的 VPS 服务器,有时当我执行 subprocess.Popen 命令时,我得到太多这个错误:
OSError: [Errno 12] 无法分配内存
配置详情: 对于每个站点,我都有一个这样的 apache 站点:http://pastebin.com/mcew79sH 还有一个设置和一个 wsgi 文件(都在与项目相同的文件夹中),如下所示:http://pastebin.com/hrrV4WTM
我将参数作为列表传递给 Popen 构造函数并使用 close_fds=True,我还使用 stdin/stdout 与 PIPE 进行通信,以获取我需要读取响应的那些。
最后这是我出现错误时得到的回溯http://pastebin.com/FqXPHwhq
服务器服务于大约 25 个流量较小的站点(其中可能有 5 个日常使用量很大)我的 VPS RAM 大小为 1024MB,它们都执行 PostgreSQL 数据库。
这一切始于我们将站点从运行 Ubuntu Server 10.10 32 位的 VPS 迁移到 11.10 64 位。
知道如何解决这个问题吗?
---- 编辑----
【问题讨论】:
-
我认为 1024MB 对于少于 50 个流量不是很高的网站来说已经绰绰有余了,也许是时候为 apache 寻找更便宜的替代品了。
标签: python django apache mod-wsgi popen