在Django+Apache中使用memcached时出现分段错误

在Django+Apache中使用memcached时出现分段错误,django,apache,memcached,mod-wsgi,python-memcached,Django,Apache,Memcached,Mod Wsgi,Python Memcached,我正在使用MemcachedCache后端为Django项目配置缓存 我已经在本地和预生产服务器上测试了它,它工作得很好。但是,当我将其部署到生产服务器上时,在重新启动apache之后,我会收到多个关于分段故障的错误,如下所示: [mpm_prefork:notice] [pid 40094] AH00169: caught SIGTERM, shutting down [mpm_prefork:notice] [pid 27734] AH00163: Apache/2.4.7 (Ubuntu)

我正在使用MemcachedCache后端为Django项目配置缓存

我已经在本地和预生产服务器上测试了它,它工作得很好。但是,当我将其部署到生产服务器上时,在重新启动apache之后,我会收到多个关于分段故障的错误,如下所示:

[mpm_prefork:notice] [pid 40094] AH00169: caught SIGTERM, shutting down [mpm_prefork:notice] [pid 27734] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.5 OpenSSL/1.0.1f mod_wsgi/3.4 Python/2.7.6 configured $ [core:notice] [pid 27734] AH00094: Command line: '/usr/sbin/apache2' [core:notice] [pid 27734] AH00052: child pid 28214 exit signal Segmentation fault (11) [core:notice] [pid 27734] AH00052: child pid 28225 exit signal Segmentation fault (11) [crit] Memory allocation failed, aborting process. [mpm_prefork:error] [pid 27734] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process [core:notice] [pid 27734] AH00052: child pid 28239 exit signal Aborted (6) [core:notice] [pid 27734] AH00052: child pid 28279 exit signal Segmentation fault (11) [core:notice] [pid 27734] AH00051: child pid 28280 exit signal Segmentation fault (11), possible coredump in /etc/apache2 [core:notice] [pid 27734] AH00052: child pid 28313 exit signal Segmentation fault (11) [core:notice] [pid 27734] AH00052: child pid 28335 exit signal Segmentation fault (11) [core:notice] [pid 27734] AH00052: child pid 28355 exit signal Segmentation fault (11) [mpm_prefork:error] [pid 27734] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process [core:notice] [pid 27734] AH00052: child pid 28278 exit signal Segmentation fault (11) [core:notice] [pid 27734] AH00052: child pid 28336 exit signal Segmentation fault (11) [mpm_prefork:error] [pid 27734] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process [crit] Memory allocation failed, aborting process. ... 我不明白,因为预生产服务器的内存大约比生产服务器的一半要少

您能帮我找出这种行为背后的问题或错误吗?

使用

free -m
检查您的可用内存

如果可用内存不足,本链接教程可能有助于创建交换文件


如果您在创建交换文件后仍然遇到这些问题,您可能需要升级到更大的液滴,但我怀疑这是您的情况

谢谢您的回答!我已经检查了空闲内存,大约有500个。在预生产和生产服务器中大致相同,但预生产不会引起错误。。。尽管如此,我还是会尝试创建一个交换文件。好吧,希望它能起作用。。请投票支持这个答案,这样人们也可以遵循它:thxI已经尝试设置4G交换,但是当我重新启动apache并运行“free-m”时,整个交换内存都在使用中,我仍然会收到错误,但是这次关于wsgi脚本的错误无法作为Python模块加载。我不明白为什么相同的代码在prepod中工作良好,而在prod中有这种行为…--