私はプロジェクトのベンチマークにperfツールを使用しています。私が直面している問題は、私がマシン上でperfツールを実行する自動化を取得することです、すべて正常に動作します。 ただし、自動化サーバーでperfを実行して、チェックインのプロセスの一部にすることを試みていますが、オートメーションサーバーから次のエラーが表示されます。Linuxのperfツールの実行に関する問題
警告:カーネルアドレスマップ(/ proc/{kallsyms、modules}/proc/sys/kernel/kptr_restrictを確認してください。
適切なvmlinux ファイルがbuildidキャッシュまたはvmlinuxパスに見つからない場合、カーネル機能のサンプルが解決されないことがあります。
カーネルモジュールのサンプルはまったく解決されません。 再配置が適用された場合(たとえばkexec)、適切なvmlinuxまたはkallsymsファイルを使用していても、シンボルが誤って解決される可能性があります( )。
エラー:
権限エラー - あなたはrootですか?
を考えてみて微調整は、/ proc/sys/kernel/perf_event_paranoid:
-1 - でのパラノイア必ずしもすべて
0 - unpriv
1の生のトレースポイントへのアクセスを禁止する - unpriv
のCPUのイベントを禁止2 - unpriv
FPのためのプロファイリングカーネルを禁止:
を終端私は/ proc/sys/kernel/perf_event_paranoidを-1と0に変更しようとしましたが、同じ問題が残っています。 誰もこれを前に見ましたか?なぜ私はrootとしてコマンドを実行する必要がありますか?私はsudoなしで私のマシン上で実行することができます。 がところで、コマンドは、-a
(フルシステムプロファイリング)とサンプルを使用することができないレコード-m 32 -F 99 -p XXXX -a -g --callグラフFP