oprofile的安装 使用 ubuntu14.04
来源:互联网 发布:c语言编写程序后无结果 编辑:程序博客网 时间:2024/05/10 20:36
其实可以用apt-get的方式安装,不过不建议。首先版本是0.9.9的,而现在最新的是1.1.0。
官方文档:
http://oprofile.sourceforge.net/doc/index.html
下载源码:
http://oprofile.sourceforge.net/download/
就是那三个步骤进入文件./configure, make, make install
./configure会提示缺少3个库文件。按照提示安装就好了。
我的一些参考是这样的
第一步 configure:
1. ./configure 提示缺少popt ---> libpopt-dev
2. ./configure 提示缺少liberty à libiberty-dev
3. ./configure 提示缺少 bfd à binutils-dev
现在不缺少但是还有一个问题,如果你想要分析JAVA程序则需要
./configure–with-java=/usr/lib/jvm/jdk1.8.0_91/ PS:等号后面的是我的安装目录!
第二步make
第三部 make install 默认路径
之前想在JAVA启动项内更改设置,不过根本没找到,还犯了个低级错误一直想用java这个命令添加。真是头昏的厉害!
现在按照别人的方法配置hadoop,其他的在照葫芦画瓢试试。
配置:
我的是hadoop.2.7.2
所以我更改的是$HADOOP_COMMON_HOME/etc/Hadoop/hadoop_env.sh
找到
export HADOOP_OPTS="$HADOOP_OPTS-Djava.net.preferIPv4Stack=true"
在下面添加:
export HADOOP_OPTS="$HADOOP_OPTS-agentpath:/usr/local/lib/oprofile/libjvmti_oprofile.so "
参考博客:
http://blog.csdn.net/xiongwen341/article/details/8977428
使用
原理:
有两种模式基于事件的采样(eventbased)和基于时间的采样(timebased)。
1. 基于事件的采样是oProfile只记录特定事件(比如L2 cache miss)的发生次数,当达到用户设定的定值时oProfile就记录一下(采一个样)。这种方式需要CPU内部有性能计数器(performace counter)。
2. 基于时间的采样是oProfile借助OS时钟中断的机制,每个时钟中断oProfile都会记录一次(采一次样),引入此种采样方式的目的在于提供对没有性能计数器的CPU的支持,其精度相对于基于事件的采样要低。因为要借助OS时钟中断的支持,对禁用中断的代码oProfile不能对其进行分析。这只是用于1.0之前的版本的opcontrol命令下使用,我现在用的是1.1.0版本。
oProfile在Linux上分两部分,一个是内核模块(oprofile.ko),一个为用户空间的守护进程(oprofiled)。前者负责访问性能计数器或者注册基于时间采样的函数(使用register_timer_hook注册之,使时钟中断处理程序最后执行profile_tick时可以访问之),并采样置于内核的缓冲区内。后者在后台运行,负责从内核空间收集数据,写入文件。
常用语句:
operf :
利用 Linux performance events subsystem做性能分析
一般格式:
operf [ options ] [ --system-wide |--pid=<PID> | [ command [ args ] ] ]
例子(test2是一个简单地C程序)
sudo operf -e CPU_CLK_UNHALTED,INST_RETIRED./test2
数据结果一般存储于当前目录下的 oprofile _data. 可在使用时添加–d path 修改存储路径
可用opreport查看结果
ocount:
记录特定事件的发生次数
一般格式
ocount [ options ] [ --system-wide |--process-list <pids> | --thread-list <tids> | --cpu-list<cpus> [ command [ args ] ] ]
例子
ocount -e CPU_CLK_UNHALTED:6000 ./test2
可添加–f path 将结果输出到特定的文件。
opreport
从当前文件的oprofile输出结果。
- oprofile的安装 使用 ubuntu14.04
- oProfile的安装与使用
- oProfile的安装与使用
- oProfile的安装与使用
- Oprofile的安装与使用
- oProfile的安装与使用
- oProfile的安装与使用
- 【性能分析】oProfile的安装与使用
- oProfile的安装与使用 测试可用
- OProfile安装和使用
- oprofile安装和使用
- 安装使用oprofile
- Oprofile工具的使用
- oprofile的使用
- oprofile的使用
- oprofile库安装与使用
- ubuntu14.04 Anaconda 的安装使用
- 安装oprofile
- mybatis用到的log4.properties文件
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 数据结构10.树
- android studio | openGL es 3.0增强现实(AR)开发 (1) 建立一个openGL es 3.0开发环境
- 面试技巧:前端工程师面试题汇总
- oprofile的安装 使用 ubuntu14.04
- Android进程保活
- HTTPClient和HttpURLConnection实例对比
- 你的能量超乎你想象-记第23届秦岭马拉松
- Vi编辑器编写Hello World程序
- JSP实现杨辉三角
- 安卓事件传递分析的结论
- JS对数组的操作
- android 数据缓存