小编Arn*_*ita的帖子

PERF STAT不计算内存负载,但计算内存存储

Linux内核:4.10.0-20-generic(也在4.11.3上试过)

Ubuntu:17.04

我一直试图使用收集内存访问的统计信息perf stat.我能够收集内存存储的统计信息,但内存加载的计数返回0值.

以下是内存存储的详细信息: -

perf stat -e cpu/mem-stores/u ./libquantum_base.arnab 100
N = 100, 37 qubits required
Random seed: 33
Measured 3277 (0.200012), fractional approximation is 1/5.
Odd denominator, trying to expand by 2.
Possible period is 10.
100 = 4 * 25

 Performance counter stats for './libquantum_base.arnab 100':

       158,115,510      cpu/mem-stores/u                                            

       0.559922797 seconds time elapsed
Run Code Online (Sandbox Code Playgroud)

对于内存加载,我得到0计数,如下所示: -

perf stat -e cpu/mem-loads/u ./libquantum_base.arnab 100
N = 100, 37 qubits required
Random seed: …
Run Code Online (Sandbox Code Playgroud)

linux x86 intel perf

5
推荐指数
1
解决办法
865
查看次数

当 KVM-QEMU 开启时,Intel-PT 不记录任何数据包

我试图在主机上使用 Intel-PT,而我在来宾计算机中运行通用软件程序。所以我期望在主机中运行的 Intel-PT 将记录所有相关的数据包(如 PIP、FUP、TSC 等)以及所有基于 VM 的数据包,如 VMCS。

我使用以下命令 -

./perf kvm --host --guest --guestkallsyms=guest-kallsyms --guestmodules=guest-modules record -e intel_pt//

guest-kallsyms 和 guest-modules 是我从来宾复制到主机上的 kallsyms 和模块文件。

然后我将启动我的虚拟机。我将在客户机上运行一个程序。程序执行完成后,我将在主机中按Ctrl + C (SIGINT) 停止录制。

我看到,一旦我尝试使用 perf 报告读取使用以下命令生成的文件 -

./perf kvm report -i perf.data.kvm

它返回“未找到样本”。这意味着 Intel-PT 未能记录任何样本。

注意MSR_IA32_VMX_MISC对于我的处理器,我发现 MSR 中值的第 14 位是 0。根据 Intel 文档,对于要在 VMX 操作中使用的 Intel-PT该位应为 1。这是否会以任何方式影响 Intel-PT 不记录任何样本的原因?

INTEL-PT 即使在 VM 开启时也能工作吗?还是我记录数据的方法不对?

编辑:我使用的是Linux 内核 4.11.3,具有 Ubuntu 17.04和支持 Intel-PT 的 Broadwell CPU。

linux virtualization trace kvm perf

2
推荐指数
1
解决办法
1084
查看次数

标签 统计

linux ×2

perf ×2

intel ×1

kvm ×1

trace ×1

virtualization ×1

x86 ×1