如何衡量目前在Linux上使用的内存带宽?

时间:2011-06-28 08:01:37

标签: c++ linux memory

我正在编写一个小型Linux应用程序,它记录计算机的功耗以及CPU利用率和磁盘利用率。我想添加记录当前正在使用的内存带宽的功能,这样我就能看出它与功耗的关联程度。

我知道我可以从/proc/meminfo获取有关当前分配的内存量的信息,当然,这并不能告诉我带宽 >目前正在使用。有谁知道我如何测量当前使用的内存带宽?

修改 我希望这主要在x86和x86-64平台上工作

1 个答案:

答案 0 :(得分:5)

它高度依赖于CPU,但您需要能够访问CPU的性能寄存器。您可以通过oprofile执行此操作。请注意,并非所有CPU都具有可用于计算内存带宽使用情况的性能寄存器(或寄存器组合)。