当前位置: 首页 > article >正文

源码安装gperftools工具

源码安装gperftools工具

下载gperftools源码
https://github.com/gperftools/gperftools/releases/download/gperftools-2.16/gperftools-2.16.tar.gz
在这里插入图片描述
注:需要下载github上release版本,如果直接下载master分支上源码,将可能出现各种编译报错

Linux Centos

[root@localhost gperftools-2.16]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"[root@localhost gperftools-2.16]# 
[root@localhost gb]# pwd
/home/gb
[root@localhost gb]# mkdir build
[root@localhost gb]# tar -zxvf gperftools-2.16.tar.gz
[root@localhost gb]# ls -tlr
-rw-rw-r--. 1 gb   gb    912590 May 17 17:03 libunwind-1.7.2.tar.gz
-rw-rw-r--. 1 gb   gb   2405927 May 17 17:03 gperftools-2.16.tar.gz
drwxrwxr-x. 2 gb   gb         6 May 17 17:04 build
drwxr-xr-x. 9 gb   gb      4096 May 17 17:05 gperftools-2.16
[root@localhost gb]# cd gperftools-2.16/
[root@localhost gperftools-2.16]# ./configure --prefix=/home/gb/build
[root@localhost gperftools-2.16]# make
[root@localhost gperftools-2.16]# make install
[root@localhost gperftools-2.16]# cd ../
[root@localhost gb]# ls -tlr
-rw-rw-r--.  1 gb   gb    912590 May 17 17:03 libunwind-1.7.2.tar.gz
-rw-rw-r--.  1 gb   gb   2405927 May 17 17:03 gperftools-2.16.tar.gz
drwxr-xr-x. 10 gb   gb      4096 May 17 17:32 gperftools-2.16
drwxrwxr-x.  6 gb   gb        56 May 17 17:32 build
[root@localhost gb]# cd build/
[root@localhost build]# ls -tlr
total 4
drwxr-xr-x. 2 root root   42 May 17 17:32 bin
drwxr-xr-x. 4 root root   28 May 17 17:32 share
drwxr-xr-x. 3 root root   24 May 17 17:32 include
drwxr-xr-x. 3 root root 4096 May 17 17:32 lib
[root@localhost build]# cd lib
[root@localhost lib]# pwd
/home/gb/build/lib
[root@localhost lib]# ls -tlr
total 92476
-rwxr-xr-x. 1 root root  3046360 May 17 17:32 libtcmalloc_minimal.so.4.5.18
lrwxrwxrwx. 1 root root       29 May 17 17:32 libtcmalloc_minimal.so.4 -> libtcmalloc_minimal.so.4.5.18
lrwxrwxrwx. 1 root root       29 May 17 17:32 libtcmalloc_minimal.so -> libtcmalloc_minimal.so.4.5.18
-rwxr-xr-x. 1 root root     1076 May 17 17:32 libtcmalloc_minimal.la
-rwxr-xr-x. 1 root root  3446608 May 17 17:32 libtcmalloc_minimal_debug.so.4.5.18
lrwxrwxrwx. 1 root root       35 May 17 17:32 libtcmalloc_minimal_debug.so.4 -> libtcmalloc_minimal_debug.so.4.5.18
lrwxrwxrwx. 1 root root       35 May 17 17:32 libtcmalloc_minimal_debug.so -> libtcmalloc_minimal_debug.so.4.5.18
-rwxr-xr-x. 1 root root     1118 May 17 17:32 libtcmalloc_minimal_debug.la
-rwxr-xr-x. 1 root root  5536656 May 17 17:32 libtcmalloc.so.4.5.18
lrwxrwxrwx. 1 root root       21 May 17 17:32 libtcmalloc.so.4 -> libtcmalloc.so.4.5.18
lrwxrwxrwx. 1 root root       21 May 17 17:32 libtcmalloc.so -> libtcmalloc.so.4.5.18
-rwxr-xr-x. 1 root root     1020 May 17 17:32 libtcmalloc.la
-rwxr-xr-x. 1 root root  5899392 May 17 17:32 libtcmalloc_debug.so.4.5.18
lrwxrwxrwx. 1 root root       27 May 17 17:32 libtcmalloc_debug.so.4 -> libtcmalloc_debug.so.4.5.18
lrwxrwxrwx. 1 root root       27 May 17 17:32 libtcmalloc_debug.so -> libtcmalloc_debug.so.4.5.18
-rwxr-xr-x. 1 root root     1062 May 17 17:32 libtcmalloc_debug.la
-rwxr-xr-x. 1 root root  1041968 May 17 17:32 libprofiler.so.0.5.13
lrwxrwxrwx. 1 root root       21 May 17 17:32 libprofiler.so.0 -> libprofiler.so.0.5.13
lrwxrwxrwx. 1 root root       21 May 17 17:32 libprofiler.so -> libprofiler.so.0.5.13
-rwxr-xr-x. 1 root root     1020 May 17 17:32 libprofiler.la
-rwxr-xr-x. 1 root root  5939400 May 17 17:32 libtcmalloc_and_profiler.so.4.6.13
lrwxrwxrwx. 1 root root       34 May 17 17:32 libtcmalloc_and_profiler.so.4 -> libtcmalloc_and_profiler.so.4.6.13
lrwxrwxrwx. 1 root root       34 May 17 17:32 libtcmalloc_and_profiler.so -> libtcmalloc_and_profiler.so.4.6.13
-rwxr-xr-x. 1 root root     1112 May 17 17:32 libtcmalloc_and_profiler.la
-rw-r--r--. 1 root root  8753752 May 17 17:32 libtcmalloc_minimal.a
-rw-r--r--. 1 root root  9812458 May 17 17:32 libtcmalloc_minimal_debug.a
-rw-r--r--. 1 root root 15397860 May 17 17:32 libtcmalloc.a
-rw-r--r--. 1 root root 16341578 May 17 17:32 libtcmalloc_debug.a
-rw-r--r--. 1 root root  2796524 May 17 17:32 libprofiler.a
-rw-r--r--. 1 root root 16630346 May 17 17:32 libtcmalloc_and_profiler.a
drwxr-xr-x. 2 root root      144 May 17 17:32 pkgconfig
[root@localhost lib]# 

Linux ARM64

[root@localhost gperftools-2.16]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"[root@localhost gperftools-2.16]# 
[root@localhost gb]# pwd
/home/gb
[root@localhost gb]# mkdir build
[root@localhost gb]# tar -zxvf gperftools-2.16.tar.gz
[root@localhost gb]# ls -tlr
-rw-rw-r--. 1 gb   gb    912590 May 17 17:03 libunwind-1.7.2.tar.gz
-rw-rw-r--. 1 gb   gb   2405927 May 17 17:03 gperftools-2.16.tar.gz
drwxrwxr-x. 2 gb   gb         6 May 17 17:04 build
drwxr-xr-x. 9 gb   gb      4096 May 17 17:05 gperftools-2.16
[root@localhost gb]# cd gperftools-2.16/
#设置交叉工具链安装的目录
[root@localhost gb]# export PATH=$PATH:/opt/chain_tool/gcc_arm_10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin
[root@localhost gperftools-2.16]# ./configure --host=aarch64-none-linux-gnu --prefix=/home/gb/build
[root@localhost gperftools-2.16]# make
[root@localhost gperftools-2.16]# make install
[root@localhost gperftools-2.16]# cd ../
[root@localhost gb]# ls -tlr
-rw-rw-r--.  1 gb   gb    912590 May 17 17:03 libunwind-1.7.2.tar.gz
-rw-rw-r--.  1 gb   gb   2405927 May 17 17:03 gperftools-2.16.tar.gz
drwxr-xr-x. 10 gb   gb      4096 May 17 17:32 gperftools-2.16
drwxrwxr-x.  6 gb   gb        56 May 17 17:32 build
[root@localhost gb]# cd build/
[root@localhost build]# ls -tlr
total 4
drwxr-xr-x. 2 root root   42 May 17 17:32 bin
drwxr-xr-x. 4 root root   28 May 17 17:32 share
drwxr-xr-x. 3 root root   24 May 17 17:32 include
drwxr-xr-x. 3 root root 4096 May 17 17:32 lib
[root@localhost build]# cd lib
[root@localhost lib]# pwd
/home/gb/build/lib
[root@localhost lib]# ls -tlr
total 92476
-rwxr-xr-x. 1 root root  3046360 May 17 17:32 libtcmalloc_minimal.so.4.5.18
lrwxrwxrwx. 1 root root       29 May 17 17:32 libtcmalloc_minimal.so.4 -> libtcmalloc_minimal.so.4.5.18
lrwxrwxrwx. 1 root root       29 May 17 17:32 libtcmalloc_minimal.so -> libtcmalloc_minimal.so.4.5.18
-rwxr-xr-x. 1 root root     1076 May 17 17:32 libtcmalloc_minimal.la
-rwxr-xr-x. 1 root root  3446608 May 17 17:32 libtcmalloc_minimal_debug.so.4.5.18
lrwxrwxrwx. 1 root root       35 May 17 17:32 libtcmalloc_minimal_debug.so.4 -> libtcmalloc_minimal_debug.so.4.5.18
lrwxrwxrwx. 1 root root       35 May 17 17:32 libtcmalloc_minimal_debug.so -> libtcmalloc_minimal_debug.so.4.5.18
-rwxr-xr-x. 1 root root     1118 May 17 17:32 libtcmalloc_minimal_debug.la
-rwxr-xr-x. 1 root root  5536656 May 17 17:32 libtcmalloc.so.4.5.18
lrwxrwxrwx. 1 root root       21 May 17 17:32 libtcmalloc.so.4 -> libtcmalloc.so.4.5.18
lrwxrwxrwx. 1 root root       21 May 17 17:32 libtcmalloc.so -> libtcmalloc.so.4.5.18
-rwxr-xr-x. 1 root root     1020 May 17 17:32 libtcmalloc.la
-rwxr-xr-x. 1 root root  5899392 May 17 17:32 libtcmalloc_debug.so.4.5.18
lrwxrwxrwx. 1 root root       27 May 17 17:32 libtcmalloc_debug.so.4 -> libtcmalloc_debug.so.4.5.18
lrwxrwxrwx. 1 root root       27 May 17 17:32 libtcmalloc_debug.so -> libtcmalloc_debug.so.4.5.18
-rwxr-xr-x. 1 root root     1062 May 17 17:32 libtcmalloc_debug.la
-rwxr-xr-x. 1 root root  1041968 May 17 17:32 libprofiler.so.0.5.13
lrwxrwxrwx. 1 root root       21 May 17 17:32 libprofiler.so.0 -> libprofiler.so.0.5.13
lrwxrwxrwx. 1 root root       21 May 17 17:32 libprofiler.so -> libprofiler.so.0.5.13
-rwxr-xr-x. 1 root root     1020 May 17 17:32 libprofiler.la
-rwxr-xr-x. 1 root root  5939400 May 17 17:32 libtcmalloc_and_profiler.so.4.6.13
lrwxrwxrwx. 1 root root       34 May 17 17:32 libtcmalloc_and_profiler.so.4 -> libtcmalloc_and_profiler.so.4.6.13
lrwxrwxrwx. 1 root root       34 May 17 17:32 libtcmalloc_and_profiler.so -> libtcmalloc_and_profiler.so.4.6.13
-rwxr-xr-x. 1 root root     1112 May 17 17:32 libtcmalloc_and_profiler.la
-rw-r--r--. 1 root root  8753752 May 17 17:32 libtcmalloc_minimal.a
-rw-r--r--. 1 root root  9812458 May 17 17:32 libtcmalloc_minimal_debug.a
-rw-r--r--. 1 root root 15397860 May 17 17:32 libtcmalloc.a
-rw-r--r--. 1 root root 16341578 May 17 17:32 libtcmalloc_debug.a
-rw-r--r--. 1 root root  2796524 May 17 17:32 libprofiler.a
-rw-r--r--. 1 root root 16630346 May 17 17:32 libtcmalloc_and_profiler.a
drwxr-xr-x. 2 root root      144 May 17 17:32 pkgconfig

参考文献

gperftools源码下载直址
Linux代码性能分析工具
C++ 性能分析的实战指南(gperftools工具)
性能测试工具gperftools使用
使用gperftools对程序进行性能分析
交叉编译 gperftools 及使用
Gperftools交叉编译
gperftools 编译教程

http://www.lryc.cn/news/2378354.html

相关文章:

  • QMK 宏(Macros)功能详解(实战部分)
  • 前端脚手架开发指南:提高开发效率的核心操作
  • 搜索引擎工作原理|倒排索引|query改写|CTR点击率预估|爬虫
  • Python实例题:Python自动工资条
  • Function Calling万字实战指南:打造高智能数据分析Agent平台
  • spark MySQL数据库配置
  • python四则运算计算器
  • 线对板连接器的兼容性问题:为何老旧设计难以满足现代需求?
  • AI517 AI本地部署 docker微调(失败)
  • VR和眼动控制集群机器人的方法
  • python训练营打卡第26天
  • TiDB 中新 Hash Join 的设计与性能优化
  • 1.共享内存(python共享内存实际案例,传输opencv frame)
  • 网页常见水印实现方式
  • oracle主备切换参考
  • Java大师成长计划之第25天:Spring生态与微服务架构之容错与断路器模式
  • 【ARM】MDK如何将变量存储到指定内存地址
  • Unity3D仿星露谷物语开发44之收集农作物
  • langchain—chatchat
  • 经典算法 求C(N, K) % mod,保证mod是质数
  • 【LeetCode 热题 100】二叉树的最大深度 / 翻转二叉树 / 二叉树的直径 / 验证二叉搜索树
  • 关于软件测试开发的一些有趣的知识
  • uni-app 开发HarmonyOS的鸿蒙影视项目分享:从实战案例到开源后台
  • 售前工作.工作流程和工具
  • GPU与NPU异构计算任务划分算法研究:基于强化学习的Transformer负载均衡实践
  • 学习ai课程大纲
  • 基于CentOS7制作OpenSSL 1.1的RPM包
  • 数据分析_Python
  • TCP/UDP协议原理和区别 笔记
  • 深入浅出:C++数据处理类与计算机网络的巧妙类比