运行Magento的cron.sh时的内存大小错误

时间:2013-11-14 16:22:47

标签: magento cron

我们已将nginx用户设置为每隔5分钟运行以下命令。

sh /var/www/magento/cron.sh

这已经相当成功地执行了一段时间。在过去一个月左右的时间里,由于内存限制,每次都开始出错。我增加了内存限制,但这只会导致达到更高的限制。似乎一定存在更大的问题。错误始终如下。

Fatal error: Allowed memory size of 262144 bytes exhausted 
(tried to allocate 7680 bytes) in /var/www/magento/app/Mage.php on line 589

以下是magento每隔五分钟开始运行的crons:

job: xmlconnect_notification_send_all   
model: xmlconnect/observer::scheduledSend   
file: /var/www/magento/app/code/core/Mage/XmlConnect/etc/config.xml

job: newsletter_send_all    
model: newsletter/observer::scheduledSend   
file: /var/www/magento/app/code/core/Mage/Newsletter/etc/config.xml

job: enterprise_staging_automates
model: enterprise_staging/observer::automates   
file: /var/www/magento/app/code/core/Enterprise/Staging/etc/config.xml

2 个答案:

答案 0 :(得分:1)

您的错误消息包含所有答案

  

允许的内存大小为262144字节耗尽

虽然262144字节似乎是一个很大的数字,但只有256KB.25 MB左右

我相信Magento文档建议内存限制为256MB,512MB是更常见的。您需要确保您的命令PHP版本(或cron.sh启动的命令行PHP)正确设置了memory_limit ini。这里常见的一个缺陷是省略M,或使用MB

; Will not do what you want it to
memory_limit=256
memory_limit=256MB

因此请确保您的配置文件设置为此类

memory_limit=256M

答案 1 :(得分:0)

这是服务器设置问题。你的php CLI memory_limit设置得太低了。

将它弹回到256M。

如果您没有运行自己的服务器,则需要联系您的托管服务提供商。