在Ubuntu* 11.04上通过Sudo安装完Intel(R) VTune(TM) Amplifier XE 2011。整个过程没有任何报错信息。
使用amplxe-gui,调用工具的图形界面,创建一个项目,选择目标的应用程序。然后通过工具对目标程序进行热点分析(Hotspots Analysis), 意外得到出错信息。
collection faited.the data cannot be displayed.error:failed to start profiling because the scope of ptrace system call application is limited.
同样的问题也会发生在并行性分析(Concurrency Analysis)和锁及等待分析(Locks And Waits Analysis)。
究其原因,Ubuntu* 10.10以后的版本对于一个普通用户在使用ptrace追踪进程时,仅允许被追踪进程的父进程ptrace 应用程序的进程。
而VTune Amplifier XE并非应用程序的父进程。怎么去除这个限制呢?根据出错信息的提示:
$sudo echo 0 > /proc/sys/kernel/yama/ptrace_scope
bash: /proc/sys/kernel/yama/ptrace_scope: Permission denied
应该使用:
$echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
[sudo] password for peter:
0
这样, VTune(TM) Amplifier XE 就可以正常工作了。