我正试着用Oprofile分析我的软件(在Linux中)。我的软件包括用户空间和内核模块。首先,我怀疑--separate=kernel选项做什么?在没有这个选项的情况下跑步有什么区别?我确实试过看,但没发现有什么不同。你能举个例子吗?
如果没有--separate=kernel选项,我就不能分析内核模块吗?
谢谢,
巴拉
最佳答案
在oprofile中,当与选项--separate=kernel一起使用时,它将每个应用程序的内核和内核模块分离。
--separate='library'根据应用程序分离动态链接对象的示例。
内核,动态链接对象并不是我们想要单独分析的应用程序所特有的。但与此同时,我们的应用程序在它们上花费了相当多的时间。
所以——separate允许从我们感兴趣的分析应用程序的角度获取样本。它还可以基于单个线程提供示例。
内核可以通过向opcontrol提供--vmlinux选项来分析。
例如:-opcontrol--vmlinux=/boot/vmlinux-2.6.27.23-0.1-preempt
--separate是一个附加选项,它允许我们以不同的分辨率查看样本。
关于linux - 对Oprofile的基本怀疑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3173813/