在Ubuntu* 11.04上通過Sudo安裝完Intel(R) VTune(TM) Amplifier XE 2011。整個過程沒有任何報錯信息。
使用amplxe-gui,調用工具的圖形界面,創建一個項目,選擇目標的應用程序。然後通過工具對目標程序進行熱點分析(Hotspots Analysis), 意外得到出錯信息。
同樣的問題也會發生在並行性分析(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 就可以正常工作了。