gpt4 book ai didi

php - 可视化分析 PHP 应用程序内存使用情况的工具

转载 作者:IT王子 更新时间:2023-10-28 23:47:52 29 4
gpt4 key购买 nike

是否有任何免费软件或商业软件可以帮助分析 PHP 应用程序的内存使用情况?我知道 xdebug 可以生成跟踪文件,通过函数调用显示内存使用情况,但如果没有图形工具,数据很难解释。

理想情况下,我希望不仅能够查看总内存使用情况,还能够查看堆上的对象以及引用它们的对象,类似于 Jprofiler .

最佳答案

您可能知道,Xdebug 从 2.* 版本开始就放弃了内存分析支持。请在此处搜索“已删除函数”字符串:http://www.xdebug.org/updates.php

Removed functions

Removed support for Memory profiling as that didn't work properly.

所以我尝试了另一种工具,它对我来说效果很好。

https://github.com/arnaud-lb/php-memory-profiler

这是我在我的 Ubuntu 服务器上为启用它所做的:

sudo apt-get install libjudy-dev libjudydebian1
sudo pecl install memprof
echo "extension=memprof.so" > /etc/php5/mods-available/memprof.ini
sudo php5enmod memprof
service apache2 restart

然后在我的代码中:

<?php

memprof_enable();

// do your stuff

memprof_dump_callgrind(fopen("/tmp/callgrind.out", "w"));

最后用 KCachegrind 打开 callgrind.out 文件

使用 Google gperftools(推荐!)

首先通过在此处下载最新的软件包来安装 Google gperftools:https://code.google.com/p/gperftools/

那么一如既往:

sudo apt-get update
sudo apt-get install libunwind-dev -y
./configure
make
make install

现在在您的代码中:

memprof_enable();

// do your magic

memprof_dump_pprof(fopen("/tmp/profile.heap", "w"));

然后打开你的终端并启动:

pprof --web /tmp/profile.heap

pprof 将在您现有的浏览器 session 中创建一个新窗口,如下所示:

PHP memory profiling with memprof and gperftools

Xhprof + Xhgui(我认为最好的配置 CPU 和内存)

使用 XhprofXhgui,您还可以分析 CPU 使用情况,或者如果这是您目前的问题,则只分析内存使用情况。这是一个非常完整的解决方案,它可以让您完全控制,并且日志可以写入 mongo 或文件系统中。

更多详情see my answer here .

黑火

Blackfire 是 SensioLabs 的 PHP 分析器,Symfony2 开发人员 https://blackfire.io/

如果您使用 puphpet要设置您的虚拟机,您会很高兴知道它受支持 ;-)

关于php - 可视化分析 PHP 应用程序内存使用情况的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/255941/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com