Oprofile错误:无法打开配置文件设备:设备或资源繁忙

时间:2014-02-27 14:43:20

标签: linux profiling fedora oprofile

我因为一个恼人的错误而努力在我的系统上运行oprofile:

$ sudo opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux
$ sudo opcontrol --start
ATTENTION: Use of opcontrol is discouraged.  Please see the man page for operf.
Using default event: CPU_CLK_UNHALTED:100000:0:1:1
Using 2.6+ OProfile kernel interface.
Reading module info.
Failed to open profile device: Device or resource busy
Couldn't start oprofiled.
Check the log file "/var/lib/oprofile/samples/oprofiled.log" and kernel syslog

任何熟悉Oprofile的人都会注意到我使用正确的命令序列来调用服务。这直接来自Fedora documentation。还安装了内核调试信息以生成相应的vmlinux文件。但即使将此文件的位置传递给oprofile,也没有任何问题:

$ sudo opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/3.12.11-201.fc19.x86_64/vmlinux
$ sudo opcontrol --start
ATTENTION: Use of opcontrol is discouraged.  Please see the man page for operf.
Using default event: CPU_CLK_UNHALTED:100000:0:1:1
Using 2.6+ OProfile kernel interface.
Reading module info.
Failed to open profile device: Device or resource busy
Couldn't start oprofiled.
Check the log file "/var/lib/oprofile/samples/oprofiled.log" and kernel syslog

在指定位置还没有任何日志文件。我已经尝试了其他几种解决方案,包括重新安装,删除守护进程,以及在不分析内核的情况下运行。

  • 为什么没有运行oprofile进程时设备会忙?
  • 为什么没有写日志文件?
  • 我可以更改哪些内容以便运行oprofile?

1 个答案:

答案 0 :(得分:2)

在运行oprofile之前,你应该检查你的系统是否存在看门狗。 watchdog / nmi_watchdog向perf子系统注册,这将阻止oprofile工作。 您可能必须使用以下命令停止看门狗/ NMI看门狗以释放计数器0:

echo "0" | sudo tee /proc/sys/kernel/watchdog

OR

echo "0" | sudo tee/proc/sys/kernel/nmi_watchdog