1

Drupal 上的某些页面比其他页面使用更多的内存。我认为在 Drupal 中为所有页面保留 64M 或更多是浪费服务器资源,只是因为模块的页面(或带有图形的部分)达到了这个峰值,并且我想在进行更改时避免出现白页。

所以,我的问题是:根据部分或页面以编程方式管理不同的内存限制是一种好习惯吗?有些页面使用 32M 或更少,所以我认为最好使用特定限制来优化 Web 应用程序的特定部分。

我已经阅读了很多关于优化实践的内容,但我还没有发现动态处理内存限制或处理这类问题或应用这种方法的 Drupal 模块。

4

2 回答 2

4

内存限制实际上只是告诉 Drupal 允许使用多少内存。Drupal 不会“保留”内存。它并没有像你想象的那样真正“管理”内存。它会在需要时使用它需要的(允许的)任何东西,如果它需要更多,你会得到一个错误。如果它需要少于内存限制,它将使用更少。

运行 Drupal 7 所需的最低可用内存为 32MB,但建议的数量接近 128MB。

http://drupal.org/requirements#php

PHP 内存需求可能会因站点上使用的模块而有很大差异。Drupal 6 核心要求 PHP 的 memory_limit 至少为16MB。Drupal 7 核心需要32MB。如果 PHP 配置不满足这些要求,将显示警告消息。然而,虽然这些值对于默认的 Drupal 安装可能已经足够,但启用了许多常用模块(CCK、视图等)的生产站点可能需要 64 MB 或更多。某些安装可能需要更多,尤其是在富媒体实现中。如果您使用托管服务,请务必验证您的主机是否可以为您正在部署或将来可能部署的模块集提供足够的内存。(请参阅增加 PHP 内存限制有关修改 PHP 内存限制的更多信息,请参见疑难解答常见问题解答页面。)

于 2012-09-02T18:36:51.080 回答
2

Drupal 的内存非常重。当第一次预热 drupal 实例时,它会尝试为视图、缓存等分配内存。

请务必将其放在 sites/default/settings.php 中

ini_set('memory_limit','128M');

于 2012-10-19T23:01:33.537 回答