From:https://www.cnblogs.com/ber619/p/13431817.html
环境:Ubuntu 16.04

  1. 在terminal输入如下命令,安装与当前内核版本一致的工具
sudo apt-get install linux-tools-common
sudo apt-get install linux-tools-"$(uname -r)"
sudo apt-get install linux-cloud-tools-"$(uname -r)"
sudo apt-get install linux-tools-generic
sudo apt-get install linux-cloud-tools-generic

安装完成后,terminal输入perf,可以显示perf的用法介绍。

  1. 一般环境中,安装完成后,使用perf top/perf record需sudo 权限加持

两种解决方法:

  • (1)使用sudo权限,如sudo perf top。

  • (2)设置kenel.perf_event_paranoid:

    2.1 临时设置,需要sudo su切换到root用户后再进行如下操作,操作完成后返回原用户,此时输入perf top可以正常工作。该方法系统重启后失效。
    如果是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
  • 2.2 修改配置文件,重启后仍有效。

    编辑/etc/sysctl.conf,在文件末尾加上:

      kernel.kptr_restrict=0  #如果是ubuntu16.04
      kernel.perf_event_paranoid= -1

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐