Php Magento试图分配过多的内存

Php Magento试图分配过多的内存,php,magento,memory,Php,Magento,Memory,我的Magento 1.6.1.0社区版商店有问题。它试图每15秒左右分配大约半GB的内存。不幸的是,错误消息并没有多大帮助,如下所示: [29-Mar-2012 07:36:38] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 431187952 bytes) in Unknown on line 0 [29-Mar-2012 07:36:40] PHP Fatal e

我的Magento 1.6.1.0社区版商店有问题。它试图每15秒左右分配大约半GB的内存。不幸的是,错误消息并没有多大帮助,如下所示:

[29-Mar-2012 07:36:38] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 431187952 bytes) in Unknown on line 0
[29-Mar-2012 07:36:40] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 244111344 bytes) in Unknown on line 0
[29-Mar-2012 07:36:54] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 523921392 bytes) in Unknown on line 0
[29-Mar-2012 07:37:07] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 534718448 bytes) in Unknown on line 0
我已经和我的主机谈过这个问题,虽然他们说运行完整的magento存储时128Mb的内存限制有点低(我们打算在它运行时升级到一个更慷慨的包),但这些错误表明magento而不是主机有问题,因为我相当确定这不是正常行为。我无法更改此软件包上128Mb的内存限制

即使在我可以相当肯定没有人访问该网站的时候,这种情况也会持续24小时。这让我怀疑这是否与Magento运行的cron作业有关


有人对如何帮助追踪这个问题有什么建议吗?或者以前有人遇到过类似的情况吗?

在安装任何类型的软件之前,您应该概述系统要求:

Magento特别指出了这一点


内存\u限制不小于256Mb(最好是512)

在安装任何类型的软件之前,应概述系统要求:

Magento特别指出了这一点


内存\u限制不小于256Mb(最好是512)

老实说,这对Magento来说并不是太多。这是一个一级资源猪。您真的无法在像您这样的低RAM环境中运行它。但是,自从我们第一次安装以来,这个错误就没有出现过。由于日志被截断,我恐怕无法确切地告诉您它是何时启动的。有没有一种方法可以准确地告诉我们Magento的哪个部分正试图分配所有这些内存?错误消息一点帮助都没有。你能通过webgrind这样的分析器运行它吗?这将向你展示你最大的资源猪。老实说,这对Magento来说并不是太多。这是一个一级资源猪。您真的无法在像您这样的低RAM环境中运行它。但是,自从我们第一次安装以来,这个错误就没有出现过。由于日志被截断,我恐怕无法确切地告诉您它是何时启动的。有没有一种方法可以准确地告诉我们Magento的哪个部分正试图分配所有这些内存?错误消息一点帮助都没有。你能通过webgrind这样的分析器运行它吗?这将向你展示你最大的资源猪。恕我直言,我相当肯定Magento不应该在一个块中分配那么多内存,这看起来不像Magento因为过度使用而耗尽内存,因为它试图分配少量内存,这正试图将最多600Mb分配为一个大数据块。@MarkFl我无法更改此软件包上128Mb的内存限制。这个主机提供商是在浪费时间。考虑到他们不允许更改Magento所需的最小内存(256M),他们可能还有其他问题导致Magento出现重大问题。你的故事在Magentocommerce上的Magento表单上重复得如此频繁,以至于Anton的回答相当标准。首先找到一个支持Magento的主机提供商,很多问题都会迎刃而解。拒绝听从这一建议会让你追逐幻想。@Fiasco实验室如果我来到这里并发布:
[29-Mar-2012 07:37:07]PHP致命错误:允许内存大小为536870912字节(试图分配534718448字节)在未知的第0行
您的响应会有所不同吗?Magento仍然不应该一次分配半GB的内存。@MarkFI,确实Magento可能不“应该”分配那么多,但它确实是。在128Mb RAM主机上安装通用Magento可能会起作用,但一旦开始添加属性、产品等,128Mb就完全不够了,就像256Mb一样。在我工作的很多网站上,Magento都有1Gb的内存,当我尝试做一些像Mage::log($\u category,null,'cat.log')这样的事情时,仍然会看到白色屏幕;接受建议,把它放在一个更好的主机包上,最好是一个知道如何优化Magento的主机。在某个地方,内存限制会出现,是的,我会给你同样的回答。我们愚昧的原始开发人员让我们使用这样一个系统,无法增加内存,mysql崩溃,花了一周的时间分配类别。由于没有为您提供适当的资源,您不知道apache、php和mysql之间还有什么其他配置错误,或者在尝试与邻居友好相处时提供了如此低的出厂默认值,以至于Magento做了一些非常奇怪的事情。尽管如此,请恕我直言,我相当确定Magento不应该在一个块中分配那么多内存,这看起来不像Magento由于过度使用而耗尽内存,它试图分配少量内存,这是试图将高达600Mb的内存分配为一个大块。@MarkFl我无法更改此包中128Mb的内存限制。这个主机提供商是在浪费时间。考虑到他们不允许更改Magento所需的最小内存(256M),他们可能还有其他问题导致Magento出现重大问题。你的故事在Magentocommerce上的Magento表单上重复得如此频繁,以至于Anton的回答相当标准。首先找到一个支持Magento的主机提供商,很多问题都会迎刃而解。拒绝听从这一建议会让你追逐幻想。@Fiasco实验室如果我来到这里并发布:
[29-Mar-2012 07:37:07]PHP致命错误:允许内存大小为536870912字节(试图分配534718448字节)在未知的第0行
您的响应会有所不同吗?Magento仍然不应该一次分配半GB的内存。@MarkFI,实际上Magento可能不“应该”分配那个内存