问题描述
我正在尝试使用 Linux 内核 5.4.80 在 AMD
Epyc 处理器上测量一些代码的性能:
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit,64-bit
Byte Order: Little Endian
Address sizes: 48 bits physical,48 bits virtual
CPU(s): 128
On-line CPU(s) list: 0-127
Thread(s) per core: 2
Core(s) per socket: 64
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 23
Model: 49
Model name: AMD EPYC 7702P 64-Core Processor
Stepping: 0
Frequency boost: enabled
CPU MHz: 1597.858
CPU max MHz: 2000.0000
CPU min MHz: 1500.0000
BogoMIPS: 3992.43
Virtualization: AMD-V
L1d cache: 2 MiB
L1i cache: 2 MiB
L2 cache: 32 MiB
L3 cache: 256 MiB
...
#
事实证明,某些事件并未直接映射到硬件事件,而是 mapped to generic hardware events。
例如,当我运行 perf stat -e cache-misses ...
时,它会报告什么?我对这些报告值的信任程度如何?它们实际上代表什么?
就我而言,我最好使用原始计数器值而不是依赖 perf
名称吗?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)