我们在aws有我们的主机。最近,在将我们的博客从wordpress迁移到aws之后,我们遇到了服务器响应时间的明显延迟。主要是在访问博客的时候。下面是error_log文件中的日志,
[Wed Feb 25 06:10:10 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:12:22 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:12:36 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:12:50 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:13:35 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:27:14 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process我们在php.ini文件中将内存大小从256MB增加到512MB。但是,问题仍然存在。
我们还将KeepAlive更改为On。它仍然不能解决。任何建议/解决方案都会有很大帮助。
发布于 2015-12-04 06:24:55
当我在AWS的vm上的ubuntu上托管一个带有jenkins、mysql和tomcat的java应用程序时,我也遇到过这个问题。
我用来解决重启虚拟机问题的第一步。
默认情况下,AWS不会在硬盘上提供交换内存,所以你最好自己动手做。如何做到这一点你可以找到here。值得一提的是:交换区域的解决方案(不知道为什么)对我不起作用,我必须创建一个交换文件。
祝你好运!
发布于 2015-12-23 04:39:57
我也有同样的问题要解决,有两个选择:
1-从微型实例转移到小型实例,这是解决问题的变化( amazon上的微型实例往往具有较大的cpu窃取时间)
2-调整mysql数据库服务器配置和我的apache配置,以使用更少的内存。
针对低内存情况的调优指南,例如:http://www.narga.net/optimizing-apachephpmysql-low-memory-server/ (但不要使用MyISAM表的建议-可怕的...)
这两个选项将大大减少问题的发生。我仍然在寻找更好的解决方案来关闭已经完成的进程,并杀死那些挂在那里的进程。
发布于 2016-05-19 19:31:54
将Apache的prefork MPM更改为httpd.conf,我最终使用了以下值:
StartServers 1
MinSpareServers 1
MaxSpareServers 5
ServerLimit 16
MaxClients 16
MaxRequestsPerChild %0
ListenBacklog 100
然后,尝试使用sudo a2dismod name_of_module停用一些模块php
https://stackoverflow.com/questions/28715545
复制相似问题