使用Valgrind分析PHP执行过程 | 我是大熊


本站和网页 https://blog.it2048.cn/article-valgrind/ 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

使用Valgrind分析PHP执行过程 | 我是大熊
我是大熊
Web开发者,PHP博主,xhgui汉化作者
Home
About
Tags
Categories
Archives
使用Valgrind分析PHP执行过程
Posted on
2016-03-16
In
php学习
一. valgrind简介Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。 Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-OReilly开源代码奖。
该工具是个神器,用途非常广泛,不过主要来事用来调试C的性能与内存泄露检测;
二.通过valgrind查看PHP执行情况因为PHP是C语言写的,所以通过该工具检测PHP程序也非常简单,下面是详细步骤:
安装valgrind;Mac下安装:1brew install valgrind
Windows下安装: https://sourceforge.net/projects/valgrind4win/安装完之后Mac下终端中运行 valgrind –help 能看到效果;
安装php-valgrind扩展;到github上下载安装包即可:https://github.com/laruence/php-valgrind/archive/master.zip 通过phpize安装:
PHP
12345678910111213141516171819202122232425262728 $ unzip master.zip $ cd php-valgrind $ PHP_PATH/bin/phpize //PHP_PATH为PHP的安装目录 $ ./configure --with-php-config=PHP_PATH/bin/php-config $ make $ sudo make install //成功的话会提示: Installing shared extensions: **/extensions/no-debug-non-zts-20131226/ $ vim PHP_PATH/etc/php.ini //添加 extension = valgrind.so $ PHP_PATH/bin/php -m //检查valgrind.so模块是否安装成功 //创建一个PHP文件 index.php <?php$a =array();callgrind_toggle();for ($i=0;$i<100;$i++) &#123;$a[$i] = 2;&#125;callgrind_toggle();callgrind_dump(); //php文件内容入上所示 $ valgrind --tool=callgrind --collect-atstart=no --instr-atstart=no PHP_PATH/bin/php index.php //当前目录会生成一个或多个callgrind.out.* 文件
使用qcachegrind GUI程序查看callgrind.out.* 文件;
Mac下安装:none brew install qcachegrind
Windows下安装: https://sourceforge.net/projects/qcachegrindwin/
效果如下:
Post author:
我是大熊
Post link:
http://blog.it2048.cn/article-valgrind/
Copyright Notice:
All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.
# web
# php
从C10K想到的一些东西
蛊惑人心的树莓派
Table of Contents
Overview
我是大熊
192
posts
10
categories
81
tags
RSS
GitHub
Links
Laruence
郑泽鑫博客
晨曦
麦田技术博客
柒's-Blog
编码妙妙屋
1. 一. valgrind简介2. 二.通过valgrind查看PHP执行情况
2022
我是大熊
Powered by Hexo
Theme &mdash; NexT.Mist v5.1.4