我正在编写一个小型Linux应用程序,它记录计算机的功耗以及CPU利用率和磁盘利用率。我想添加记录当前正在使用的内存带宽的功能,这样我就能看出它与功耗的关联程度。
我知道我可以从/proc/meminfo
获取有关当前分配的内存量的信息,当然,这并不能告诉我带宽 >目前正在使用。有谁知道我如何测量当前使用的内存带宽?
修改 我希望这主要在x86和x86-64平台上工作
答案 0 :(得分:5)
它高度依赖于CPU,但您需要能够访问CPU的性能寄存器。您可以通过oprofile执行此操作。请注意,并非所有CPU都具有可用于计算内存带宽使用情况的性能寄存器(或寄存器组合)。