DRUPAL&内存限制

时间:2012-09-02 08:07:56

标签: drupal optimization memory memory-limit

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

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

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

2 个答案:

答案 0 :(得分: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内存限制的其他信息,请参阅故障排除常见问题解答中的Increase PHP memory limit页面。)

答案 1 :(得分:1)

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

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

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