他のユーザーのプロセスで「perf top」を実行する

他のユーザーのプロセスで「perf top」を実行する

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なりそうですsudoperfSallyにならずにSallyの仕事を監視する方法はありますか? SallyとTanyaはお互いを信頼しますが、必ずしも必要でない限り、偽の行動を使用しないことを好みます。

ベストアンサー1

おすすめ記事