猿问

PHP内存分析

剖析PHP页面的内存使用情况的好方法是什么?例如,查看我的数据正在使用多少内存,和/或哪些函数调用分配了最多的内存。

  • xdebug似乎没有在其性能分析功能中提供内存信息。

  • xdebug 确实在其跟踪功能提供了它。这与我想要的非常接近,除了庞大的数据量是压倒性的,因为它显示了每个函数调用的内存增量。如果可以使用某些GUI工具将呼叫隐藏在一定深度以下,则可以解决我的问题。

还有别的事吗?


慕沐林林
浏览 387回答 3
3回答

POPMUISE

Xdebug 在2.6(2018-01-29)中重新实现了内存跟踪,可以在Qcachegrind或类似工具中使用它。只要确保选择内存选项即可:)从文档:从Xdebug 2.6开始,事件探查器还收集有关正在使用多少内存的信息,以及哪些方法可以提高内存使用率。我不熟悉文件的格式,但是Qcachegrind在跟踪几个内存问题方面对我非常有用。

慕丝7291255

好吧,这可能并不是您要找的东西,但是PHP确实有一些内置函数可以输出内存使用情况。如果您只想查看函数调用使用了多少内存,则可以在调用之前和之后使用memory_get_peak_usage()并取其差值。您可以使用非常相似的memory_get_usage()对数据使用相同的技术。相当简单的方法,但这是签出一段代码的快速方法。我同意xdebug mem增量可能太冗长而有时无法使用,因此我经常只使用它来缩小代码段,然后手动丢弃小块的特定内存使用情况。
随时随地看视频慕课网APP
我要回答