工作环境是suse11sp3系统(内核版本3.0.101-0.47.90-default),需要通过perf排查系统性能问题,但是默认是没有perf工具的。

在网上搜索了一下,需要linux-tools工具包,幸好手上有SUSE11sp3 ISO文件,直接在ISO的suse/x86_64目录下

找到了perf-3.0.76-2.10.31.x86_64.rpm 安装包。

尝试安装了一下,报错:

# rpm -ivh perf-3.0.76-2.10.31.x86_64.rpm
error: Failed dependencies:
    libnewt.so.0.52()(64bit) is needed by perf-3.0.76-2.10.31.x86_64
    libnewt.so.0.52(NEWT_0.52)(64bit) is needed by perf-3.0.76-2.10.31.x86_64
    libslang.so.2()(64bit) is needed by perf-3.0.76-2.10.31.x86_64
    libslang.so.2(SLANG2)(64bit) is needed by perf-3.0.76-2.10.31.x86_64

继续在网上搜索libnewt相关的软件包(关键词: libnewt which package),找到如下链接:

http://www.linuxfromscratch.org/blfs/view/svn/general/newt.html

注意阅读该网页信息,newt依赖于popt和slang,这两个package必须先按照,否则newt编译出错。

slang and popt URL:
    http://www.linuxfromscratch.org/blfs/view/svn/general/slang.html
    http://www.linuxfromscratch.org/blfs/view/svn/general/popt.html

popt、slang和newt的编译和安装过程不再赘述,网页上都有详细说明。

 

安装了libnewt和libslang后还是报错,检查了系统LD_LIBRARY_PATH,路径都正确,而且检查有相关lib文件:

  # ll /usr/local/lib/libnewt.so
  lrwxrwxrwx 1 root root 15 Dec 26 19:37 /usr/local/lib/libnewt.so -> libnewt.so.0.52
  # ll /usr/local/lib/libslang.so      
  lrwxrwxrwx 1 root root 13 Dec 26 19:36 /usr/local/lib/libslang.so -> libslang.so.2

  # echo $LD_LIBRARY_PATH
  /usr/lib:/usr/local/lib:/usr/lib64:/lib:/lib64:/usr/local/lib64:/home/zxagent/lib/usr/lib64:/lib:/lib64:/usr/local/lib64

  实在没辙了,直接强行安装perf:

  rpm -ivh perf-3.0.76-2.10.31.x86_64.rpm --nodeps

  安装完成后,检查perf是否成功:

  # which perf
  /usr/bin/perf

  执行perf命令:

perf top -e cycles:k

PerfTop:    1612 irqs/sec  kernel:99.9% us: 0.1% guest kernel: 0.0% guest us: 0.0% exact:  0.0% [1000Hz cycles],  (all, 32 CPUs)
--------------------------------------------------------------------------------------------------------------------------------------------

samples  pcnt function                  DSO
             _______ _____ _________________________ __________________________________________________

8773.00 55.6% intel_idle                /lib/modules/3.0.101-0.47.90-default/build/vmlinux
             1356.00  8.6% find_busiest_group        /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              267.00  1.7% __schedule                /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              258.00  1.6% _raw_spin_lock            /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              209.00  1.3% cpumask_next_and          /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              179.00  1.1% find_next_bit             /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              136.00  0.9% cpuidle_idle_call         /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              123.00  0.8% native_write_msr_safe     /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              110.00  0.7% menu_select               /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              106.00  0.7% apic_timer_interrupt      /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              105.00  0.7% tick_nohz_stop_sched_tick /lib/modules/3.0.101-0.47.90-default/build/vmlinux
              105.00  0.7% cpupri_set                /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               98.00  0.6% update_curr_rt            /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               97.00  0.6% load_balance              /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               87.00  0.6% __hrtimer_start_range_ns  /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               86.00  0.5% select_nohz_load_balancer /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               82.00  0.5% leave_mm                  /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               74.00  0.5% __switch_to               /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               73.00  0.5% idle_balance              /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               73.00  0.5% getnstimeofday            /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               72.00  0.5% timerqueue_add            /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               71.00  0.4% read_tsc                  /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               69.00  0.4% do_select                 /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               69.00  0.4% hrtimer_interrupt         /lib/modules/3.0.101-0.47.90-default/build/vmlinux
               67.00  0.4% core_sys_select           /lib/modules/3.0.101-0.47.90-default/build/vmlinux

   perf可用,也算安装成功了!

   PS:

您的支持是对博主最大的鼓励

SUSE11sp3 perf工具安装过程的更多相关文章

  1. 虚拟机Tools工具安装过程

    1.选择:“虚拟机” >>> “安装VMware Tools” 在主机上,从 Workstation Pro 菜单栏中选择虚拟机 > 安装 VMware Tools. 如果安装 ...

  2. Linux学习笔记(1)Linux虚拟机安装过程中的知识点及常用管理工具

    1. VMware的相关知识 (1)建议的VMware的配置: CPU 主频1GHz以上 内存 1GB以上 硬盘 分区空闲空间8GB以上 (2)VMware创建快照 快照的作用是保存虚拟机的现有状态, ...

  3. Hadoop集群中pig工具的安装过程记录

    在Hadoop环境中安装了pig工具,安装过程中碰到了一些问题,在此做一下记录:   主要安装流程参考:http://www.cnblogs.com/yanghuahui/p/3768270.html ...

  4. centos7-sar工具的安装过程及其简单应用

    一.sar工具安装 1.进入yum配置文件目录: cd /etc/yum.repos.d/ 2.vi CentOS-Base.repo命令创建文件CentOS-Base.repo 文件内容见网页:ht ...

  5. 离线微博工具Open Live Writer(Windows Live Writer)安装过程及server error 500错误解决

    必备条件: .net framework 3.5框架(大概是要求3.5或以上,不确定,好像没有人遇到和这个相关的问题) 2017年7月27日最新官方版0.6.2英文离线客户端网盘下载(官网的安装包无法 ...

  6. 性能分析工具VisualVM for eclipse安装过程总结

    Java VisualVM Java VisualVM is a tool that provides a visual interface for viewing detailed informat ...

  7. webstorm下载&&安装过程&&打开项目

    一.webstorm下载 WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为"Web前端开发神器"."最强大的HT ...

  8. RabbitMQ 集群安装过程详解

    一.安装Erlang 1.rabbitMQ是基于erlang的,所以首先必须配置erlang环境. 从erlang官网下载 otp 18.3.下载链接:http://erlang.org/downlo ...

  9. LNMP安装过程

    LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora.Debian/Ubuntu/Raspbian/Deepin VPS或独 ...

随机推荐

  1. redis 缓存击穿 看一篇成高手系列3

    什么是缓存击穿 在谈论缓存击穿之前,我们先来回忆下从缓存中加载数据的逻辑,如下图所示 因此,如果黑客每次故意查询一个在缓存内必然不存在的数据,导致每次请求都要去存储层去查询,这样缓存就失去了意义.如果 ...

  2. 【转】搭建和配置Syncthing发现和中继服务器

    搭建和配置Syncthing发现和中继服务器     折腾借口 Syncthing好是挺好的,但就是同步不给力,公共网络服务其质量参差不齐,网络也说不清.最好的解决方案还是自己搭建发现服务器Synct ...

  3. django ORM多对多操作

    创建多对多: 方式一:自定义关系表 class Host(models.Model): nid = models.AutoField(primary_key=True) hostname = mode ...

  4. Excel--截取所需内容

    如上图,需截取*号后的数字,那么公式怎么写: 1.使用Find和Mid函数: FIND:获取指定字符所在字串的位置: MID:截取字串中的子串. 写法: 2.也可以使用Replace函数代替mid函数 ...

  5. mysql 存储过程的实现原理

    一.描述 存储过程是一组可以完成特定功能的SQL语句集,经编译后存储在数据库中 statement语句(DDL.DML.导出及管理语句等).异常处理.流程控制二.创建存储过程 系统做语句分析,如果没有 ...

  6. win10 solidity开发环境搭建

    1. 软件安装 1) 安装nodejs 安装完成后将node.exe所在路径加入环境变量PATH中,以便在cmd命令行中直接使用node和npm命令 下面的操作在git bash下进行 2) 安装so ...

  7. 三、thymeleaf模板引擎构建前台html, 后台使用 ModelAndView 和 Model 模型

    项目源码:https://github.com/y369q369/springBoot.git      ->     thymeleaf 私聊QQ: 1486866853 1.pom.xml中 ...

  8. 电脑忘记WiFi密码了,但又想知道,该怎么办?

    如何查看电脑已经连过的WiFi的密码? 你有没有遇到这样的情况,电脑之前连过的WiFi,正好手机也想连此WiFi,但是忘记密码了,没有WiFi的手机怎么能叫手机呢?.下面我们来看看如何查看已连接过的W ...

  9. [UE4]虚幻引擎的C++环境安装

    一.一般使用VS2017开发 二.需要勾选“使用C++的游戏开发”

  10. TensorFlow的介绍和安装

    TensorFlow概要 由google Brain开源,设计初衷是加速机器学习的研究,2015年11月在GitHub上开源,2016年4月分布式版本,2017年发布了1.0版本,趋于稳定. Tens ...