如何更改 kernel.perf_event_paranoid 设置?

如何更改 kernel.perf_event_paranoid 设置?

当我尝试使用该perf命令时,我收到以下错误消息:

Access to performance monitoring and observability operations is limited.
Consider adjusting /proc/sys/kernel/perf_event_paranoid setting to open
access to performance monitoring and observability operations for processes
without CAP_PERFMON, CAP_SYS_PTRACE or CAP_SYS_ADMIN Linux capability.
More information can be found at 'Perf events and tool security' document:
https://www.kernel.org/doc/html/latest/admin-guide/perf-security.html
perf_event_paranoid setting is 4:
  -1: Allow use of (almost) all events by all users
      Ignore mlock limit after perf_event_mlock_kb without CAP_IPC_LOCK
>= 0: Disallow raw and ftrace function tracepoint access
>= 1: Disallow CPU event access
>= 2: Disallow kernel profiling
To make the adjusted perf_event_paranoid setting permanent preserve it
in /etc/sysctl.conf (e.g. kernel.perf_event_paranoid = <setting>)

但我无法更改文件。我试过这个建议,但是不起作用。还有其他方法可以改变它吗?

我正在使用 Ubuntu 22.04.2 LTS

答案1

可以使用sysctl命令,甚至无需重新启动:

sudo sysctl kernel.perf_event_paranoid=<parameter>

<范围> 可以恢复为

perf_event_paranoid:

    Controls use of the performance events system by unprivileged users (without CAP_SYS_ADMIN). The default value is 2.

    -1: Allow use of (almost) all events by all users Ignore mlock limit after perf_event_mlock_kb without CAP_IPC_LOCK

    >=0: Disallow ftrace function tracepoint by users without CAP_SYS_ADMIN Disallow raw tracepoint access by users without CAP_SYS_ADMIN

    >=1: Disallow CPU event access by users without CAP_SYS_ADMIN

    >=2: Disallow kernel profiling by users without CAP_SYS_ADMIN

来自内核文档

相关内容