工作环境是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. [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述

    Valse 2017 | 生成对抗网络(GAN)研究年度进展评述 https://www.leiphone.com/news/201704/fcG0rTSZWqgI31eY.html?viewType ...

  2. Eureka入门案例

    1.整体思路 1.1.服务注册中心Eureka(可以是一个集群,对外暴露自己的地址) 1.2.服务提供者:启动后向Eureka注册自己的信息(地址,提供什么服务) 1.3.客户端消费者:向Eureka ...

  3. Azure CosmosDB (7) 分区键Partition Key

    <Windows Azure Platform 系列文章目录> Azure Cosmos DB使用分区键(Partition Key),来对数据进行水平缩放(Horizon Scale), ...

  4. 黄聪:C#中CefSharp的简单使用

    C#中CefSharp的简单使用 https://blog.csdn.net/qq_26712977/article/details/78282995

  5. Python3.4 枚举类型的使用

    From: https://majing.io/posts/10000005131196 枚举类型是在Python3.4新增到Python的标准库. 创建枚举 Python提供了两种方法来创建枚举: ...

  6. 解决"Windows没有足够信息,不能验证该证书"问题

    https://jingyan.baidu.com/article/335530dae0eb2319ca41c378.html

  7. 软件测试:1.Describe An Error

    软件测试:1.Describe An Error 要求: 1.简要描述你最近完成项目里的一个error: 2.说明原因,错误影响,及你怎样发现的: 或许因为刚开学的缘故,近期我并没有完成大的项目,多少 ...

  8. Halcon 17与 c# 混合编程

    这篇主要是C#和Halcon的混合编程,在此基础上对按键不同功能的划分,以及图片适应窗口和从本地打开图片. halcon源程序:   dev_open_window(0, 0, 512, 512, ' ...

  9. C语言博客作业5--指针

    C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...

  10. 自动生成构造方法、getter、setter

    前言 ​ 一直很想知道IDE是如何自动去生成类的构造和getter.setter方法,大概是有个想法,获取当前的类,利用反射去获取属性名和类型,然后生成,所以我想自己试试. 写个模板类 package ...