gpt4 book ai didi

memory - 计算对内存的读写访问

转载 作者:行者123 更新时间:2023-12-01 03:48:04 24 4
gpt4 key购买 nike

在Linux机器上,我需要统计read的数量和 write访问 memory (DRAM) 由进程执行。这台机器有一个 NUMA 配置,我正在绑定(bind)进程以使用 numactl 从单个远程 NUMA 节点访问内存.该进程在节点 0 中的 CPU 上运行并访问节点 1 中的内存。

目前,我正在使用 perf统计LLC load miss的数量和 LLC store miss事件作为对内存读写访问的估计。因为,我猜 LLC 未命中需要通过内存访问来解决。这种方法是否正确,即这个事件是否相关?而且,有没有其他方法可以获得 readwrite访问信息?

处理器:英特尔至强 E5-4620
内核:Linux 3.9.0+

最佳答案

根据您的硬件,您应该能够访问位于内存端的性能计数器,以准确计算内存访问次数。在 Intel 处理器上,这些事件称为非核心事件。我知道你也可以在 AMD 处理器上计算同样的东西。

计算 LLC 未命中数并不完全正确,因为诸如硬件预取器之类的某些事件可能会导致大量内存访问。

关于您的硬件,不幸的是,您将不得不使用原始事件(在 perf 术语中)。这些事件不能被 perf 概括,因为它们是处理器的细节,因此您必须查看处理器的手册以找到要提供给 perf 的事件的原始编码。对于您的英特尔处理器,您应该查看第 1 章 8.9.8 Intel® Xeon® Processor E5 Family Uncore Performance Monitoring FacilityCHAPTER 19 PERFORMANCE-MONITORING EVENTS英特尔软件开发人员手册文档的 here在这些文档中,您需要使用 /proc/cpuinfo 获得的处理器的确切 ID。

关于memory - 计算对内存的读写访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25344256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com