linux安装perf工具

centos系统yum安装:

sudo yum install perf

安装完成,键入perf查看可用选项。
但一般情况下,这样的安装完成后,普通用户下perf stat|top|record……并不能正常工作,提示

$ perf stat 
Error:
You may not have permission to collect system-wide stats.

Consider tweaking /proc/sys/kernel/perf_event_paranoid,
which controls use of the performance events system by
unprivileged users (without CAP_SYS_ADMIN).

The current 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

To make this setting permanent, edit /etc/sysctl.conf too, e.g.:

	kernel.perf_event_paranoid = -1

两种解决方法:
1)临时使用,加sudo权限,这要求当前用户在sudoer list内
2)修改kenel.perf_event_paranoid参数

a) 临时修改(本地是centos系统,如下方法为ubuntu,未测试),重启后失效

如果是ubuntu16.04系统:

echo 0 > /proc/sys/kernel/kptr_restrict
echo -1 > /proc/sys/kernel/perf_event_paranoid

如果是ubuntu18.04系统(未实测):

echo -1 > /proc/sys/kernel/perf_event_paranoid

b) 永久修改,重启后仍有效
编辑/etc/sysctl.conf,在文件末尾加上:

kernel.kptr_restrict=0  (如果是ubuntu16.04则加入该配置)
kernel.perf_event_paranoid= -1

最后,使用sysctl -p /etc/sysctl.conf命令reload配置文件

相关资料

Installing and Using Perf in Ubuntu and CentOS
perf 安装及使用
linux perf tool probe&trace.pdf
perf

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值