linux - Oprofile - 使用 operf 在 opreport 中显示 INST_RETIRED 和 l1d_replacement 事件

标签 linux performance ubuntu oprofile

主机:Ubuntu 14.04 Opef版本:0.9.9

我想在 opreport 中显示两个事件,因此我输入以下命令来运行 operf:

operf ./l1thrash -e l1d_replacement:10000 -e INST_RETIRED:10000 --separate=cpu

几秒钟后,终端显示“分析完成”

然后我输入:

opreport

我没有指定路径,因为手册页表明数据自动保存在“oprofile_data”中。

但是,输出没有显示“l1d_replacement”和“INST_RETIRED”事件。

CPU: Intel Haswell microarchitecture, speed 3.5e+06 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted)with  a unit mask of 0x00 (No unit mask) count 100000
CPU_CLK_UNHALT...|
samples|      %|
------------------
 708080 100.000 l1thrash
CPU_CLK_UNHALT...|
  samples|      %|
------------------
   707010 99.8489 l1thrash
     1068  0.1508 no-vmlinux
        1 1.4e-04 ld-2.19.so
        1 1.4e-04 libc-2.19.so

我相信我错过了一些让这两个事件出现在 opreport 上的东西。

有什么想法吗?谢谢

最佳答案

我已经弄清楚如何在使用 opref 时将这两个事件包含在 opreport 中。

命令如下:

operf -e l1d_replacement:xxxxxx -e INST_RETIRED:xxxxxx --separate-c ( execute your application here ) 

opreport cpu:1

你应该让这两个事件出现。

关于linux - Oprofile - 使用 operf 在 opreport 中显示 INST_RETIRED 和 l1d_replacement 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33227319/

相关文章:

linux - PCI 设备(64 位)配置内存访问

linux - 有没有办法使用变量来获取指定的参数?

php - 在 Linux 上使用 PHP 启用 LOCAL INFILE

performance - 给定二维平面上的 n 个点,找到位于同一条直线上的最大点数

php - 在 PHP 中使用 shell_exec() 函数时没有任何反应

linux - Python 应用程序菜单

database - 随机选择尚未在连接表中的实体

python - 为什么 Python 循环变慢?

linux - 服务器中缺少磁盘空间

bash - 在外部脚本输出前添加制表符