工作环境是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. Linux基础入门-环境变量与文件查找

    一.环境变量: Shell中的变量也有不同的数据类型,不用专门指定类型名,可以参与运算,有作用域限制. declare tmp 创建一个变量 可以不用专门声明,可以即用即创建 tmp=shiyanlo ...

  2. 函数中不能对全局变量进行修改,想要修改全局变量需要在变量前面加global

    # def change_name(name):#     global school    #     school = "Mage Linux"#     print(&quo ...

  3. idea导入svn项目

    起初和导入git项目一样,file - new - project from version control - ,这后面选 subversion. 在打开的 checkout from subver ...

  4. OpenResty的现状、趋势、使用及学习方法

    Nginx 是俄罗斯人发明的, Lua 是巴西几个教授发明的,中国人章亦春把 LuaJIT VM 嵌入到 Nginx 中,实现了 OpenResty 这个高性能服务端解决方案. 通过 OpenRest ...

  5. 未来-区块链-Aliyun:阿里云IoT - 所知不止于感知

    ylbtech-未来-区块链-Aliyun:阿里云IoT - 所知不止于感知 1.返回顶部 1. 基础产品接入 设备接入 设备管理 数据分析 应用开发 网络管理 边缘计算 设备认证 安全运营 AliO ...

  6. Python【每日一问】07

    问:请解释使用 *args 和 **kwargs 的含义 答: *args:可变参数,表示将实参中按照位置传值,多余的值都给 args,多余的实参被打包成 tuple(元组),然后传递给函数调用 # ...

  7. SnapKit配置过程记录

    第一步,从https://github.com/SnapKit/SnapKit下载源码的ZIP包,解压出来是这个样子的: 第二步,新建一个iOS工程(Swift版本的),并将SnapKit-devel ...

  8. 著名java博客

    http://blog.csdn.net/net19880504/article/details/20807403

  9. Java笔记Spring(六)

    web.xml各节点加载顺序 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=&q ...

  10. MySQL计算年龄

    SELECT TIMESTAMPDIFF(YEAR, birthday, now()) FROM person2;