因为最近要做实验实时监测CPU还有内存的性能,找了非常久才找到符合我要求的工具,特此记录。
这个应该是应用最为广泛的Linux内核下的性能监测器,测的内容很多,官方文档也很详实,但是其生成的数据比较难以使用。
一般Linux内核都会内置,不用安装。
通过perf list
获取可用指令。
使用方法:
perf stat -e L1-dcache-loads <command>
同时支持C++及可视化FlameGraph。
Intel家的东西,但是现在似乎已经不作为Intel管辖的软件,只是在Github上偶尔还有更新。 PCM自称操作比perf的操作更加底层,所以能获得更精确的性能监测*。
虽然几乎没有文档,但是实际上操作非常简易,且能够完全满足我的需求。
操作方法如下
git clone
一下make
.x
后缀的文件,这几个就是可执行文件了--help
即可获得命令行指令说明比较常用的几个设施(都可以在它们Github首页上找到):
使用实例:0.1秒监测一次,结果输出为test.csv
文件
sudo ./pcm.x 0.1 -csv=test.csv --external-program Test
可能遇到的问题
sudo
以及见Intel PCM in userspace Linux
Try to execute 'modprobe msr' as root user and then
you also must have read and write permissions for /dev/cpu/*/msr devices (/dev/msr* for Android). The 'chown' command can help.
Access to Intel(r) Performance Counter Monitor has denied (no MSR or PCI CFG space access).
这个也是Intel家的东西,有GUI,比较麻烦就是还要安装,并且对输出数据似乎也不是很友好。