perf record -g
时间: 2024-05-23 07:07:17 浏览: 23
perf record -g 是 Linux 系统下性能分析工具 perf 的一个命令选项,可以用于收集程序运行时的性能数据,并生成相应的报告。其中,“-g”选项表示将函数调用关系(Call Graph)也纳入到性能数据中。
通过 perf record -g 命令收集的性能数据可以使用 perf report 命令进行分析和展示,同时也可以使用其他工具进行更深入的分析,例如 Flame Graph 工具可以用于可视化 perf record -g 生成的性能数据。
相关问题
.sh文件中sudo perf record -e branch-instructions -g ./db_bench 我希望在运行.sh文件输入db_bench作为参数
您可以在运行.sh文件时,将"db_bench"作为参数传递给它。可以将以下内容添加到.sh文件中:
```bash
#!/bin/bash
sudo perf record -e branch-instructions -g ./db_bench "$@"
```
这样,您可以通过在命令行中运行.sh文件并提供"db_bench"作为参数来实现您的需求。例如:
```bash
./your_script.sh db_bench
```
这将执行.sh文件,并将"db_bench"作为参数传递给它。
sudo perf report -i perf.data -g --stdio 结果为什么显示的都是函数地址 没有函数具体名称
这是因为 perf.data 中记录的是函数地址,而不是函数名称。为了显示函数名称,你需要在 perf.data 中记录符号表信息。你可以在使用 perf 命令时添加 -g 选项来记录符号表信息。具体来说,你需要使用类似下面的命令来生成 perf.data 文件:
```
sudo perf record -g -o perf.data command
```
其中,command 是你要分析的应用程序或命令。使用 -g 选项记录符号表信息后,再使用 perf report 命令就可以看到函数名称了。如果你已经生成了 perf.data 文件,可以使用下面的命令来重新生成报告:
```
sudo perf report -i perf.data -g --stdio --symfs=$(pwd)
```
其中,--symfs 选项指定符号表路径。$(pwd) 表示使用当前工作目录作为符号表路径。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)