2つのユーザーアカウントを持つCentOS 7システムがあります。
- 生産を担当するサリーです。
- モニタリングとインタラクティブなタスクを担当するTanyaです。
SallyはTanyaが監視する必要がある特定のタスクを実行しますperf top
。 Tanyaは実行しようとしperf top -p PID
ますが、次のエラーで終了します。
You may not have permission to collect stats.
Consider tweaking /proc/sys/kernel/perf_event_paranoid:
-1 - Not paranoid at all
0 - Disallow raw tracepoint access for unpriv
1 - Disallow cpu events for unpriv
2 - Disallow kernel profiling for unpriv
私たちはandperf_event_paranoid
に設定しましたが、同じエラーが発生しました。0
-1
SallyはTanyaが自分のプロセスをすべて監視できるように喜んでいます。このPIDを有効にするだけで効果があります(たとえば、Sallyは各プロセスの起動後にスクリプトを実行してTanyaの監視を有効にできます...スクリプトに何を書くかを知っている限り)。
GDBについて議論するなら、答えはまたはにgdbserver
なりそうですsudo
。perf
SallyにならずにSallyの仕事を監視する方法はありますか? SallyとTanyaはお互いを信頼しますが、必ずしも必要でない限り、偽の行動を使用しないことを好みます。