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