【问题标题】:WordPress 3.2.1 using all available memory on LAMPWordPress 3.2.1 使用 LAMP 上的所有可用内存
【发布时间】:2023-03-17 21:27:02
【问题描述】:

我刚刚在一个非常新的 LAMP 服务器上安装了 wordpress 3.2.1(规格如下)。在全新的 wordpress 安装中,wordpress 在处理几个请求后就使用了所有可用内存 (512 mb)。测试的页面(都导致相同的问题)是预制的索引页面和管理页面。

重新启动后,我的可用内存刚刚超过 200 mb ($> free -m),并且每次对 wordpress 实例的请求后可用内存急剧减少,在少于 20 个请求后导致服务器上的内存分配错误并导致 apache 出现 500 服务器错误。

在 apache 上使用其他非 wordpress php 页面时不会出现此问题。 不成功的解决方案是在 php.ini 中设置 memory_limit 并将('WP_MEMORY_LIMIT', ...) 定义为各种大小。

系统规格:

  • WordPress 3.2.1
  • PHP 5.3.2-1ubuntu4.9(Zend 引擎 v.2.3.0)
  • Apache 2.2.14
  • Ubuntu 10.04 LTS 64 位

【问题讨论】:

  • 你能告诉我们更多关于 WP 的信息吗?你在使用永久链接吗?插件?
  • WP 中的一切都是开箱即用的。没有加载插件,并且永久链接设置设置为默认“example.com/?p=123”。预设主题为二十一十一 1.2。

标签: php linux apache wordpress


【解决方案1】:

查看您的 apache mpm 模块配置文件。在 ubuntu 上,它应该在 /etc/apache2/modules.available 内的某个地方。可能为厚服务器设置了较大的工作进程号,并且所有内存都被请求处理后未被杀死的工作进程使用。考虑到每个 WP 工作进程使用大约 40-50M 的 RAM,您只需 4 个并发请求即可消耗 200MB,因此您只需打开 WP 仪表板,因为它会发出许多并发 AJAX 请求。您可能希望使用 fastcgi 配置来限制 PHP 工作进程的数量以节省内存。

【讨论】:

  • 非常感谢您的回答!这听起来像是一个可能的原因。据我了解,必须在 apache 编译之前配置 mpm 模块。不幸的是,apache 的默认 apt 安装不包含 mpm worker 或 mpm prefork。两个问题:(1)你知道apache安装后如何添加mpm吗? (2) 在这种情况下,如果没有在 mpm 中显式配置,标准的 apache 设置是否能够更好地管理内存?
  • 1.我不能给你一个明确的指导——下载 Apache 源代码,使用./configure 来配置它......很多工作。但据我了解,在 Debian 上,它是开箱即用的。
  • 2.不,这是不可能的。低内存系统的最佳 Apache 配置是 worker mpm 模块 + fastcgi php。例如,它在我的 256 米 VDS 上运行良好,甚至可以承受不错的负载。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 2017-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多