Hardware Events: CPU的PMU(performance monitoring unit)触发的事件,也叫performance monitoring counters (PMCs),例如cpu-cycles、cache miss Software Events: 一些比较底层的软件event,例如缺页、timer(定时) Kernel Tracepoint Events: 内核中的tracepoint User Statically-Defined Tracing (USDT): 用户态的tracepoint ...
perf可以统计或采样的event有很多,如果我们要分析cpu,那么我们可以使用cpu-cycles、cpu-clock来衡量占用cpu的程序的分布情况,还可以通过cache-misses、page-faults、branch-misses等event来分析造成cpu占用高的底层原因,确定原因后方便优化。 如果我们要分析内存、io、网络等,也可以通过其他event来进行分析,perf可以使用的e...
13,423 page-faults # 0.002 M/sec <not supported> cycles <not supported> instructions <not supported> branches <not supported> branch-misses 3.492943090 seconds time elapsed 可以看到在这3.49秒钟中,发生了6985次cpu-clock事件,5787次context-switches,468次cpu-migrations和13423次page-faults。在这里...
<not supported> cycles <not supported> instructions <not supported> branches <not supported> branch-misses 11.310337191 seconds time elapsed 这里我们使用pgrep -nx来获取进程对应的进程ID。 除了上面看到的这些事件,我们也可以用perf stat来查看更多的事件对应的计数情况: [root@VM-16-2-centos ~]# perf st...
Hardware Event: 是由PMU硬件产生的事件,比如 cache 命中 Software Event:是内核软件产生的事件,比如进程切换,tick 数等 Tracepoint event:是内核中的静态 tracepoint 所触发的事件 perf stat 采集程序的运行时间和CPU开销,perf stat支持的主要参数: -a, --all-cpus system-wide collection from all CPUs -A, ...
Cache-misses: cache 失效的次数。 从输出我们可以看出这个程序是一个cpu密集型的程序。 执行命令 perf record -g -e cpu-clock ./perf_r 生成perf.data 由于我们程序是cpu是cpu密集型,所有我只关注了cpu始终(-e cpu-clock ) perf report -g 读取perf.data文件 ...
但是当我运行的时候: sudo perf stat -e task-clock,cycles,instructions,cache-references,cache-misses ./AppName 输出: Performance counter stats for './AppName': 490.299513 task-clock (msec) # 0.081 CPUs utilized <not suppor 浏览108提问于2020-04-02得票数 0 回答已采纳...
你可以使用perf命令配合具体的硬件事件来收集CPU的cache misses和cycles信息。例如,要收集cache misses的...
sudo perf stat -e task-clock,cycles,instructions,cache-references,cache-misses ./AppName 输出: 代码语言:javascript 复制 Performance counter stats for './AppName': 490.299513 task-clock (msec) # 0.081 CPUs utilized <not supported> cycles <not supported> instructions <not supported> cache-reference...
<not supported> dTLB-loads 134,920,245,165,482 dTLB-load-misses (0.00%) <not supported> iTLB-loads 23,373,287,351,746 iTLB-load-misses (0.00%) <not supported> L1-dcache-prefetches <not supported> L1-dcache-prefetch-misses 23.450708972 seconds time elapsed ...