我正在分析流程。 我必须分析cpu时间,I / O阻塞时间和缓存未命中数。 但我不知道如何获得缓存未命中。 我正在分析内核源代码,但我不知道该怎么做。我知道运行队列的源代码在哪里。 如何获取进程的缓存未命中数? 我认为这可能是具体或技术问题。 所以,如果您对直接回答犹豫不决,请给我一些提示或推荐有关如何获取缓存数量的书籍。 直接回答是最好的。 提前谢谢。
答案 0 :(得分:5)
perf,cachegrind,oprofile,PTU,CodeAnalyst和Zoom是一些选项
perf stat \
--repeat 10 \
-e cycles:u \
-e instructions:u \
-e l1-dcache-loads:u \
-e l1-dcache-load-misses:u \
-e l1-icache-loads:u \
-e l1-icache-load-misses:u \
-e llc-loads:u \
-e llc-load-misses:u \
a.out
选项:https://perf.wiki.kernel.org/articles/t/u/t/Tutorial.html