清除memory_get_peak_usage缓存

时间:2012-03-14 21:55:19

标签: php magento xdebug

我正在尝试追踪PHP程序中的内存泄漏(Magento,如果重要的话)。基本问题似乎是某个对象/类的泄漏随着时间的推移而增长。也就是说,记录到数据库的信息越多,某些应用程序进程最终使用的内存就越多。 Magento是一个高度抽象的系统,因此并不总是清楚正在运行哪些代码消耗了如此多的内存。这就是我想要追查的内容。

我一直在程序引导文件末尾使用memory_get_peak_usage来衡量性能,并且从250MB的峰值使用量到大约一周的310MB峰值使用率稳步增长。我想在整个执行周期中间歇性地使用memory_get_peak_usage来询问

  

此次通话前的峰值使用率是多少? [周期后期]此次新通话之前的峰值使用量是多少?

我遇到的问题是,一旦我拨打memory_get_peak_usage一次,任何未来的呼叫都会返回与第一次呼叫相同的值,即使我知道峰值使用率已经改变。这让我相信在调用memory_get_peak_usage一次之后,PHP会缓存结果。我想要解除它以执行上述测试。

  1. 我可以多次拨打memory_get_peak_usage吗?

  2. 是否可以选择剖析我上面描述的场景。 xDebug的一些功能可能是?

1 个答案:

答案 0 :(得分:1)

  

我可以多次调用memory_get_peak_usage吗?

不确定那个。

  

是否可以选择剖析我上面描述的场景。 xDebug的一些功能可能吗?

查看XDebug profile page。自从我分析了一个应用程序以来已经有一段时间了,但是当我这么做的时候,我跟着写作并且工作得很好。