Profile工具-gperftools(一):CPU feature
程序员文章站
2022-07-02 09:32:20
...
简介
- gperftools 原名 Google Performance Tools,是一套可以做 profile 的工具,由 google 提供。
- 目前看来在 Linux 上特别的好使,Windows 基本不能用(官网说 Windows 正在开发,不知道会不会有下文)
- CPU profile 只是这个工具其中一个 feature,我们就用这个 feature。
- 其他 feature 还有 tcmalloc:一个比malloc更快的内存管理算法;还有 heap profiler,heap checker。
- 官网:https://github.com/gperftools/gperftools
- 参考:http://www.cnblogs.com/lenolix/archive/2010/12/13/1904868.html
一. 安装
git clone https://github.com/gperftools/gperftools.git
cd gperftools
./autogen.sh
./configure
make
sudo make install
目录结构:
tree .
.
├── bin
│ └── pprof
├── include
│ ├── google
│ │ ├── heap-checker.h
│ │ ├── heap-profiler.h
│ │ ├── malloc_extension_c.h
│ │ ├── malloc_extension.h
│ │ ├── malloc_hook_c.h
│ │ ├── malloc_hook.h
│ │ ├── profiler.h
│ │ ├── stacktrace.h
│ │ └── tcmalloc.h
│ └── gperftools
│ ├── heap-checker.h
│ ├── heap-profiler.h
│ ├── malloc_extension_c.h
│ ├── malloc_extension.h
│ ├── malloc_hook_c.h
│ ├── malloc_hook.h
│ ├── nallocx.h
│ ├── profiler.h
│ ├── stacktrace.h
│ └── tcmalloc.h
├── lib
│ ├── libprofiler.a
│ ├── libprofiler.la
│ ├── libprofiler.so -> libprofiler.so.0.4.18
│ ├── libprofiler.so.0 -> libprofiler.so.0.4.18
│ ├── libprofiler.so.0.4.18
│ ├── libtcmalloc.a
│ ├── libtcmalloc_and_profiler.a
│ ├── libtcmalloc_and_profiler.la
│ ├── libtcmalloc_and_profiler.so -> libtcmalloc_and_profiler.so.4.5.3
│ ├── libtcmalloc_and_profiler.so.4 -> libtcmalloc_and_profiler.so.4.5.3
│ ├── libtcmalloc_and_profiler.so.4.5.3
│ ├── libtcmalloc_debug.a
│ ├── libtcmalloc_debug.la
│ ├── libtcmalloc_debug.so -> libtcmalloc_debug.so.4.5.3
│ ├── libtcmalloc_debug.so.4 -> libtcmalloc_debug.so.4.5.3
│ ├── libtcmalloc_debug.so.4.5.3
│ ├── libtcmalloc.la
│ ├── libtcmalloc_minimal.a
│ ├── libtcmalloc_minimal_debug.a
│ ├── libtcmalloc_minimal_debug.la
│ ├── libtcmalloc_minimal_debug.so -> libtcmalloc_minimal_debug.so.4.5.3
│ ├── libtcmalloc_minimal_debug.so.4 -> libtcmalloc_minimal_debug.so.4.5.3
│ ├── libtcmalloc_minimal_debug.so.4.5.3
│ ├── libtcmalloc_minimal.la
│ ├── libtcmalloc_minimal.so -> libtcmalloc_minimal.so.4.5.3
│ ├── libtcmalloc_minimal.so.4 -> libtcmalloc_minimal.so.4.5.3
│ ├── libtcmalloc_minimal.so.4.5.3
│ ├── libtcmalloc.so -> libtcmalloc.so.4.5.3
│ ├── libtcmalloc.so.4 -> libtcmalloc.so.4.5.3
│ ├── libtcmalloc.so.4.5.3
│ └── pkgconfig
│ ├── libprofiler.pc
│ ├── libtcmalloc_debug.pc
│ ├── libtcmalloc_minimal_debug.pc
│ ├── libtcmalloc_minimal.pc
│ └── libtcmalloc.pc
二. 使用
上一篇: CentOS 7装mysql