我正在努力追踪PHP程序中的内存泄漏(Magento,如果有关系的话)。基本的问题似乎是某个对象/类中的漏洞,这种漏洞随着时间的推移而不断增加。也就是说,记录到数据库的信息越多,某些应用程序进程最终使用的内存就越多。Magento是一个高度抽象的系统,因此并不总是清楚正在运行的代码消耗了这么多内存。这就是我想要找到的。
在程序引导文件结束时,我一直在使用memory_get_peak_usage
来测试性能,并在大约一周内看到峰值使用量从250 in稳步增长到310 in。我想在整个执行周期间断性地使用memory_get_peak_usage
来问
这个电话之前的最高使用率是多少?在这个周期的后期,这个新调用之前的峰值使用是什么?
我遇到的问题是,一旦我只调用memory_get_peak_usage
一次,以后的任何调用都会返回与第一个调用相同的值,即使我知道峰值使用率已经发生了变化。这使我相信,在memory_get_peak_usage
被调用一次之后,PHP会缓存结果。我想通过它来执行上述测试。
memory_get_peak_usage
打几次电话吗?发布于 2012-03-15 04:58:19
我能给memory_get_peak_usage打几次电话吗?
对那个不太确定。
除了分析我前面描述的场景之外,还有别的选择吗?也许是xDebug的一些特性?
看一看XDebug配置文件页面。我已经有一段时间没有分析过一个应用程序了,但当我这么做的时候,我跟踪了这篇文章,并且做得很好。
https://stackoverflow.com/questions/9710874
复制相似问题