<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>性能 on ZRJ | 学习笔记</title>
        <link>https://blog.zrj.me/tags/%E6%80%A7%E8%83%BD/</link>
        <description>Recent content in 性能 on ZRJ | 学习笔记</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-CN</language>
        <lastBuildDate>Mon, 19 Aug 2013 17:38:44 +0800</lastBuildDate><atom:link href="https://blog.zrj.me/tags/%E6%80%A7%E8%83%BD/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>使用 gperftools 分析 cpp 程序性能</title>
        <link>https://blog.zrj.me/posts/2013-08-19-%E4%BD%BF%E7%94%A8-gperftools-%E5%88%86%E6%9E%90-cpp-%E7%A8%8B%E5%BA%8F%E6%80%A7%E8%83%BD/</link>
        <pubDate>Mon, 19 Aug 2013 17:38:44 +0800</pubDate>
        
        <guid>https://blog.zrj.me/posts/2013-08-19-%E4%BD%BF%E7%94%A8-gperftools-%E5%88%86%E6%9E%90-cpp-%E7%A8%8B%E5%BA%8F%E6%80%A7%E8%83%BD/</guid>
        <description>&lt;p&gt;首先从这里，&lt;a class=&#34;link&#34; href=&#34;https://code.google.com/p/gperftools/&#34;  title=&#34;https://code.google.com/p/gperftools/&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://code.google.com/p/gperftools/&lt;/a&gt;，下载 gperftools-2.1.tar.gz&lt;/p&gt;
&lt;p&gt;接下来的操作教程主要参看这篇文章，&lt;a class=&#34;link&#34; href=&#34;http://www.searchtb.com/2012/12/google-cpu-profiler.html&#34;  title=&#34;http://www.searchtb.com/2012/12/google-cpu-profiler.html&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://www.searchtb.com/2012/12/google-cpu-profiler.html&lt;/a&gt;，Google CPU Profiler使用指南及小工具，已经写的很好了，其中需要注意的问题有几个：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;原文的 Makefile 没有排版，需要自己去 tab 缩进，不然在 make 的时候会报错&lt;/li&gt;
&lt;li&gt;在运行起来的时候报错，链接失败，参看这里，&lt;a class=&#34;link&#34; href=&#34;http://blog.csdn.net/dumeifang/article/details/2963223&#34;  title=&#34;http://blog.csdn.net/dumeifang/article/details/2963223&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://blog.csdn.net/dumeifang/article/details/2963223&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;在linux下运行程序时，发现了error while loading shared libraries这种错误，一时间不知道解决办法，在网上搜索，终于解决了：&lt;/p&gt;
&lt;p&gt;./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory 出现这类错误表示，系统不知道xxx.so放在哪个目录下，这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。&lt;/p&gt;
&lt;p&gt;一般而言，有很多的so会存放在/usr/local/lib这个目录底下，去这个目录底下找，果然发现自己所需要的.so文件。&lt;/p&gt;
&lt;p&gt;所以，在/etc/ld.so.conf中加入/usr/local/lib这一行，保存之后，再运行：/sbin/ldconfig –v更新一下配置即可。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;在使用 pprof 进行结果输出的时候，需要注意，pprof 这个工具是存放在安装目录下的 tools/gperftoools/bin/pprof 这里的&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;基本就没什么问题了，然后可以得到下图&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://zrj.me/wp-content/uploads/2013/08/QQ%e6%88%aa%e5%9b%be20130819173754.jpg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://blog.zrj.me/images/QQ%e6%88%aa%e5%9b%be20130819173754.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;QQ截图20130819173754&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;=================================================&lt;/p&gt;
&lt;p&gt;2013-08-21 09:17:474 update 另外，针对文中提到的动态链接库和 dlopen 的方式，我发现如果进程是被 killall 命令结束的话，那么是无法生成记录文件的，这个问题需要注意处理&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
