linux – perf事件文档
我搜索了perf stat命令监视的每个事件的含义的详尽解释;
我发现了一个tutorial,它很好地解释了如何使用perf工具的不同功能.然而,它并没有解释可以观察到的几个事件的意义(并且有很多!!). 有人知道在哪里是一个非常简单和完整的文件,关于perf列表命令列出的事件? 特别是,我有兴趣找出我写的一些应用程序使用的cpu的百分比. 提前致谢 解决方法
perf工具使用性能计数器,其含义记录在处理器手册中.对于intel处理器,这是英特尔?64和IA-32架构开发人员手册:Vol. 3B,附录A.
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html 有些复杂的事情是,perf使用“象征性”的名字.这些名称和处理器事件类型之间的映射可以在内核源中找到.对于intel处理器,这是在arch / x86 / kernel / cpu / perf_event_intel.c中. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/cpu/perf_event_intel.c?id=dea4f48a0a301b23c65af8e4fe8ccf360c272fbf#n2367 例如,perf事件“stalled-cycles-frontend”映射到 /* UOPS_ISSUED.STALLED_CYCLES */ intel_perfmon_event_map[PERF_COUNT_HW_STALLED_CYCLES_FRONTEND] = X86_CONFIG(.event=0x0e,.umask=0x01,.inv=1,.cmask=1); 这被记录为 Counts the number of cycles no Uops issued by the Register Allocation Table to the Reservation Station,i.e. the UOPs issued from the front end to the back end. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |