perf event list
时间: 2023-07-13 22:29:08 浏览: 148
`perf event list` 命令可以列出当前系统支持的所有可用事件,包括硬件事件和软件事件。它可以帮助你选择要监测的事件,例如 `cpu-cycles`、`instructions` 等硬件事件,或者 `sched:sched_switch`、`syscalls:sys_enter_open` 等软件事件。
要列出当前系统支持的所有可用事件,你可以使用以下命令:
```
perf list
```
上面的命令会列出当前系统支持的所有可用事件,包括硬件事件和软件事件。你可以按照事件的名称或者事件的类型进行搜索。例如,要搜索所有以 `cpu` 开头的事件,可以使用以下命令:
```
perf list | grep cpu
```
上面的命令会列出所有以 `cpu` 开头的事件。你可以根据自己的需要选择要监测的事件,并使用 perf 命令的 record 子命令来监测这些事件。例如,要监测 `cpu-cycles` 事件,可以使用以下命令:
```
perf record -e cpu-cycles program arg1 arg2
```
上面的命令会使用 `cpu-cycles` 事件监测程序执行时的 CPU 周期数,并将监测到的数据保存到 perf.data 文件中。
相关问题
centos7 perf kernel.perf_event_paranoid = -1
根据引用\[1\]和引用\[2\],在CentOS 7中,可以使用sysctl命令来查看和设置perf的CPU利用率和最大采样率。kernel.perf_event_max_sample_rate参数表示perf的最大采样率,而kernel.perf_cpu_time_max_percent参数表示perf的CPU利用率的最大百分比。在引用\[1\]中,kernel.perf_event_max_sample_rate的值被设置为50000,表示最大采样率为50000 Hertz。在引用\[2\]中,kernel.perf_cpu_time_max_percent的值被设置为25,表示CPU利用率的最大百分比为25。
至于引用\[3\]中的perf_event_open接口,它支持并发用户,并且在可能的情况下被首选。这个接口可以用于更新BCC版本的工具。
#### 引用[.reference_title]
- *1* *2* *3* [Linux perf event 的使用(二)](https://blog.csdn.net/weixin_45030965/article/details/128919985)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
linux中使用perf工具
在Linux中使用perf工具可以通过以下步骤进行操作。首先,根据内核版本进行安装,可以使用包管理工具进行安装,比如在Ubuntu下可以使用命令"apt-get install linux-tools-"$(uname -r)""进行安装。\[1\]如果无法使用包管理工具安装,可以手工编译安装perf工具。首先获取内核版本,使用命令"uname -a",然后在Linux内核托管的网站上找到对应的内核源码进行下载和解压。进入解压后的目录中的tools/perf目录,执行make命令进行编译。编译完成后,在该目录下会生成perf的二进制文件,即我们需要的perf工具。\[1\]需要注意的是,编译过程中可能会出现依赖库的问题,可以根据编译时的提示安装缺少的依赖包,然后重新编译即可获得全功能的perf工具。如果在使用perf工具时看不到调用的函数,说明编译的依赖不全,可以安装依赖包后重新编译。\[1\]
使用perf工具记录进程的CPU使用情况可以通过以下步骤进行操作。首先使用"perf record"命令记录进程的CPU使用情况,可以指定事件和进程ID,例如"sudo perf record -e cpu-clock -g -p 20000"。然后使用"perf script"工具对perf.data进行解析,可以将解析结果输出到文件中,例如"sudo perf script -i perf.data > perf.unfold"。接下来可以使用Flame Graph工具将perf.unfold中的符号折叠,生成脚本文件,例如"sudo FlameGraph/stackcollapse-perf.pl perf.unfold > perf.folded"。最后使用Flame Graph工具将perf.folded生成SVG火焰图,可以下载到本地并用浏览器打开,例如"sudo FlameGraph/flamegraph.pl perf.folded > perf.svg"。\[2\]
如果希望在Linux中永久修改perf工具的配置,使其在重启后仍然有效,可以编辑/etc/sysctl.conf文件,在文件末尾加上以下配置:
kernel.kptr_restrict=0
kernel.perf_event_paranoid=-1
这样可以禁用内核的一些限制,使perf工具的功能更加完整。\[3\]
#### 引用[.reference_title]
- *1* [在linux环境中安装perf工具,用于性能分析](https://blog.csdn.net/ghostlv/article/details/125305732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [linux 性能分析工具perf](https://blog.csdn.net/tian830937/article/details/127722852)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [linux安装perf工具](https://blog.csdn.net/fadai1993/article/details/127324033)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文