perf
私のプログラムの測定値を収集するためにこのユーティリティを使用したいと思います。これはDebian 9の共有クラスタシステムで実行されており、デフォルトでは3に設定されているため、 /proc/sys/kernel/perf_event_paranoid
測定値を収集できません。変更する前に、これがどのような影響を与えるかを知りたいです。
単にセキュリティによって、他のユーザーがさまざまな目的で実行されているコンテンツを分析し、結果として洞察を得ることができますか?とにかくユーザーの内部サークルなので、私たちはこれを気にしません。それとも他の誰にも影響を与えるパフォーマンスですか?
答え1
これはセキュリティにすぎず、パフォーマンスには影響しません(少なくともperf
実行されていない場合でもperf
影響を最小限に抑える必要があります)。変更は、システムが実行されているperf_event_paranoid
かどうかに関係なく、システムのパフォーマンス特性を変更しません。perf
その中に詳細な議論があります。セキュリティへの影響perf
カーネル文書から。変更するperf
代わりに:perf
perf_event_paranoid
cd /usr/bin
groupadd perf_users
chgrp perf_users perf
chmod o-rwx perf
setcap cap_sys_admin,cap_sys_ptrace,cap_syslog=ep perf
そして自分をperf_users
グループに追加します。
カーネルバージョン5.8には専用機能が追加されているため、allに付与する必要はなく、cap_sys_admin
最後のコマンドは次のように単純化できます。
setcap cap_perfmon,cap_sys_ptrace,cap_syslog=ep perf