我有一台 Mac mini RAM 4GB,设置为流量较低的网络服务器 - 它运行单个 WordPress 实例和一个论坛。
为什么一段时间后可用内存会下降到~20MB,导致整个服务器崩溃?
我看到 httpd 进程越来越多,我唯一能做的就是重新启动服务器,一切都会再次正常运行。
有没有人遇到过同样的问题可以分享一下他们的想法吗?
答案1
听起来你的问题出在你用来动态创建这些页面的 PHP 或 Java(或任何语言)上。
基本情况是,每个连接显然都有一定数量的内存和连接。如果连接数不断增加,那么问题就在于它为什么不释放这些连接。
默认情况下,如果连接处于非活动状态,Apache(以及其他各种 Web 服务器技术)会在经过足够长的时间后断开连接,因此,除非有越来越多的人不断访问您的网站,否则您要么禁用此默认行为(不太可能,因为您必须故意这样做),要么(更有可能)您页面上的某些代码中存在一些无限循环的类型逻辑,这些逻辑正在消耗内存并让 Apache 认为连接处于活动状态。
检查您自定义的代码,并在 Google 上搜索任何第三方插件,看看它们是否有已知的内存问题。其中一个应该可以解决问题。