工作环境是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. update_engine-整体结构(二)

    在update_engine-整体结构(一)中分析UpdateEngineDaemon::OnInit()的整体情况.下面先分析在该方法中涉及的DaemonStateAndroid和BinderUpd ...

  2. ajaxFileUpload 文件上传

    源码: jQuery .extend({ createUploadIframe : function(id, uri) {//id为当前系统时间字符串,uri是外部传入的json对象的一个参数 //c ...

  3. 廖雪峰Java8JUnit单元测试-2使用JUnit-3参数化测试

    参数化测试: 可以把测试数据组织起来 用不同的测试数据调用相同的测试方法

  4. 搭建vsftpd服务

    配置文件 anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_ ...

  5. mybatis 日志的使用以及设计

    1.为什么要配置mybtis的logger? mybatis自己设计以及实现了org.apache.ibatis.logging.Log接口. Mybatis为了避免对第三方的日志包存在强依赖,内部的 ...

  6. Redis深入学习笔记(四)主从数据复制流程

    主从节点的数据复制是Redis高可用和高负载的重要基础,本篇介绍数据的主从复制流程. 数据复制策略: 全量复制:一般用于初次复制场景,Redis早期支持的复制功能只有全量复制,它会把主节点全部数据一次 ...

  7. remote: Repository not found. fatal: repository 'https://github.com/***/***.git/' not found

    通过命令添加新repository到git hub在执行最后一步命令(如下所示)的时候报错 git push -u origin master error:remote: Repository not ...

  8. More than one file was found with OS independent path 錯誤

    More than one file was found with OS independent path 'lib/armeabi/libmrpoid.so',. 翻譯過來就是:在操作系統的獨立目錄 ...

  9. Hexo NexT主题/cnblog等博客增加点击出现红心的特效

    查看效果 每日前端 我的博客 实现:1.下载这段js代码到项目目录 ===>下载地址2.在需要的地方添加js代码 <script type="text/javascript&qu ...

  10. 常见cmd命令,开发人员必备

    运行程序 notepad--------打开记事本 calc-----------启动计算器 regedit.exe-------注册表 write----------写字板 mmc--------- ...