Suche senden
Hochladen
Oprofile linux
•
13 gefällt mir
•
3,624 views
Feng Yu
Folgen
Technologie
News & Politik
Melden
Teilen
Melden
Teilen
1 von 16
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Free rtos简介
Free rtos简介
Bei Li
嵌入式平台移植技巧概說
嵌入式平台移植技巧概說
Joseph Lu
Raspberry pi 基本操作
Raspberry pi 基本操作
艾鍗科技
Php Extension--yahoo(Cc0cc)
Php Extension--yahoo(Cc0cc)
sunlick
Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)
米米 林
5, system admin
5, system admin
ted-xu
OpenRISC whsap
OpenRISC whsap
柏毅 李
20030623 linuxbasic and-security
20030623 linuxbasic and-security
建融 黃
Empfohlen
Free rtos简介
Free rtos简介
Bei Li
嵌入式平台移植技巧概說
嵌入式平台移植技巧概說
Joseph Lu
Raspberry pi 基本操作
Raspberry pi 基本操作
艾鍗科技
Php Extension--yahoo(Cc0cc)
Php Extension--yahoo(Cc0cc)
sunlick
Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)
米米 林
5, system admin
5, system admin
ted-xu
OpenRISC whsap
OpenRISC whsap
柏毅 李
20030623 linuxbasic and-security
20030623 linuxbasic and-security
建融 黃
Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版
redhat9
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
haiyuan ning
Linux chapt3
Linux chapt3
夏 永锋
如何在Aix上运行prm for oracle database
如何在Aix上运行prm for oracle database
maclean liu
Introduction to Nand Flash interface (chinese)
Introduction to Nand Flash interface (chinese)
Sneeker Yeh
makefile20141121
makefile20141121
Kevin Wu
Kick start无人值守批量安装linux
Kick start无人值守批量安装linux
Yiwei Ma
利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版
xingsu1021
My sql 5.5 innodb xtradb 性能诊断与优化
My sql 5.5 innodb xtradb 性能诊断与优化
YUCHENG HU
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
Yiwei Ma
Linux firewall
Linux firewall
Kenny (netman)
C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述
Xiaozhe Wang
附錄--Anaconda installation
附錄--Anaconda installation
艾鍗科技
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
xuebao_zx
Sery lvs+keepalived
Sery lvs+keepalived
colderboy17
Linux
Linux
zubin Jiang
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
heima911
Linux基础
Linux基础
zhuqling
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇
艾鍗科技
U boot 程式碼打掃計畫
U boot 程式碼打掃計畫
Macpaul Lin
Erlang全接触
Erlang全接触
Feng Yu
高级服务器设计和实现2
高级服务器设计和实现2
Feng Yu
Weitere ähnliche Inhalte
Was ist angesagt?
Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版
redhat9
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
haiyuan ning
Linux chapt3
Linux chapt3
夏 永锋
如何在Aix上运行prm for oracle database
如何在Aix上运行prm for oracle database
maclean liu
Introduction to Nand Flash interface (chinese)
Introduction to Nand Flash interface (chinese)
Sneeker Yeh
makefile20141121
makefile20141121
Kevin Wu
Kick start无人值守批量安装linux
Kick start无人值守批量安装linux
Yiwei Ma
利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版
xingsu1021
My sql 5.5 innodb xtradb 性能诊断与优化
My sql 5.5 innodb xtradb 性能诊断与优化
YUCHENG HU
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
Yiwei Ma
Linux firewall
Linux firewall
Kenny (netman)
C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述
Xiaozhe Wang
附錄--Anaconda installation
附錄--Anaconda installation
艾鍗科技
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
xuebao_zx
Sery lvs+keepalived
Sery lvs+keepalived
colderboy17
Linux
Linux
zubin Jiang
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
heima911
Linux基础
Linux基础
zhuqling
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇
艾鍗科技
U boot 程式碼打掃計畫
U boot 程式碼打掃計畫
Macpaul Lin
Was ist angesagt?
(20)
Bypat博客出品-利用cent os快速构建自己的发行版
Bypat博客出品-利用cent os快速构建自己的发行版
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
Linux chapt3
Linux chapt3
如何在Aix上运行prm for oracle database
如何在Aix上运行prm for oracle database
Introduction to Nand Flash interface (chinese)
Introduction to Nand Flash interface (chinese)
makefile20141121
makefile20141121
Kick start无人值守批量安装linux
Kick start无人值守批量安装linux
利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版
My sql 5.5 innodb xtradb 性能诊断与优化
My sql 5.5 innodb xtradb 性能诊断与优化
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
Linux firewall
Linux firewall
C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述
附錄--Anaconda installation
附錄--Anaconda installation
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
Sery lvs+keepalived
Sery lvs+keepalived
Linux
Linux
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
Linux基础
Linux基础
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇
U boot 程式碼打掃計畫
U boot 程式碼打掃計畫
Andere mochten auch
Erlang全接触
Erlang全接触
Feng Yu
高级服务器设计和实现2
高级服务器设计和实现2
Feng Yu
Tsung 压力测试工具
Tsung 压力测试工具
Feng Yu
P2P 设计经验谈
P2P 设计经验谈
Feng Yu
高级服务器设计和实现1
高级服务器设计和实现1
Feng Yu
高级服务器设计和实现3
高级服务器设计和实现3
Feng Yu
Cap 理论与实践
Cap 理论与实践
james tong
MySQL和IO(上)
MySQL和IO(上)
Feng Yu
了解集群
了解集群
Feng Yu
利用新硬件提升数据库性能
利用新硬件提升数据库性能
Feng Yu
mnesia脑裂问题综述
mnesia脑裂问题综述
Feng Yu
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
Feng Yu
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
Feng Yu
SSD在淘宝的应用实践
SSD在淘宝的应用实践
Feng Yu
Cpu高效编程技术
Cpu高效编程技术
Feng Yu
MySQL和IO(下)
MySQL和IO(下)
Feng Yu
了解IO协议栈
了解IO协议栈
Feng Yu
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Feng Yu
Systemtap
Systemtap
Feng Yu
了解IO设备
了解IO设备
Feng Yu
Andere mochten auch
(20)
Erlang全接触
Erlang全接触
高级服务器设计和实现2
高级服务器设计和实现2
Tsung 压力测试工具
Tsung 压力测试工具
P2P 设计经验谈
P2P 设计经验谈
高级服务器设计和实现1
高级服务器设计和实现1
高级服务器设计和实现3
高级服务器设计和实现3
Cap 理论与实践
Cap 理论与实践
MySQL和IO(上)
MySQL和IO(上)
了解集群
了解集群
利用新硬件提升数据库性能
利用新硬件提升数据库性能
mnesia脑裂问题综述
mnesia脑裂问题综述
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
SSD在淘宝的应用实践
SSD在淘宝的应用实践
Cpu高效编程技术
Cpu高效编程技术
MySQL和IO(下)
MySQL和IO(下)
了解IO协议栈
了解IO协议栈
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Systemtap
Systemtap
了解IO设备
了解IO设备
Ähnlich wie Oprofile linux
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Chien Chung Shen
Aix操作系统培训文档
Aix操作系统培训文档
lwj2012
[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程
NJU OPEN
04
04
chanlung wu
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
acqua young
GNU Autoconf / Automake #1
GNU Autoconf / Automake #1
imacat .
程式設計師的自我修養 Chapter 8
程式設計師的自我修養 Chapter 8
Shu-Yu Fu
Sales q&a apc4.0
Sales q&a apc4.0
ahnlabchina
Apc4.0销售常见问答
Apc4.0销售常见问答
ahnlabchina
自动化运维管理
自动化运维管理
frankwsj
Ch04
Ch04
Ying wei (Joe) Chou
Erlang Optimize
Erlang Optimize
Feng Yu
Think php 1.0.0rc1开发人员指南
Think php 1.0.0rc1开发人员指南
Ashim Thapa
Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式
ZongYing Lyu
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
Feng Yu
Asm+aix
Asm+aix
Louis liu
Linux系统工程师教程
Linux系统工程师教程
yiditushe
How to replace linux system call by module
How to replace linux system call by module
YU-CHENG Hsu
Erlang Emulator Implementation
Erlang Emulator Implementation
Feng Yu
基于PXE实现部署Linux服务器
基于PXE实现部署Linux服务器
ekoing
Ähnlich wie Oprofile linux
(20)
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Aix操作系统培训文档
Aix操作系统培训文档
[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程
04
04
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
GNU Autoconf / Automake #1
GNU Autoconf / Automake #1
程式設計師的自我修養 Chapter 8
程式設計師的自我修養 Chapter 8
Sales q&a apc4.0
Sales q&a apc4.0
Apc4.0销售常见问答
Apc4.0销售常见问答
自动化运维管理
自动化运维管理
Ch04
Ch04
Erlang Optimize
Erlang Optimize
Think php 1.0.0rc1开发人员指南
Think php 1.0.0rc1开发人员指南
Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
Asm+aix
Asm+aix
Linux系统工程师教程
Linux系统工程师教程
How to replace linux system call by module
How to replace linux system call by module
Erlang Emulator Implementation
Erlang Emulator Implementation
基于PXE实现部署Linux服务器
基于PXE实现部署Linux服务器
Mehr von Feng Yu
Erlang开发实践
Erlang开发实践
Feng Yu
了解应用服务器
了解应用服务器
Feng Yu
我为什么要选择RabbitMQ
我为什么要选择RabbitMQ
Feng Yu
了解网络
了解网络
Feng Yu
了解内存
了解内存
Feng Yu
了解Cpu
了解Cpu
Feng Yu
Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告
Feng Yu
高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)
Feng Yu
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
Feng Yu
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)
Feng Yu
Erlang low cost_clound_computing
Erlang low cost_clound_computing
Feng Yu
Go
Go
Feng Yu
Inside Erlang Vm II
Inside Erlang Vm II
Feng Yu
Go Lang
Go Lang
Feng Yu
Mehr von Feng Yu
(14)
Erlang开发实践
Erlang开发实践
了解应用服务器
了解应用服务器
我为什么要选择RabbitMQ
我为什么要选择RabbitMQ
了解网络
了解网络
了解内存
了解内存
了解Cpu
了解Cpu
Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告
高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)
Erlang low cost_clound_computing
Erlang low cost_clound_computing
Go
Go
Inside Erlang Vm II
Inside Erlang Vm II
Go Lang
Go Lang
Oprofile linux
1.
Oprofile 系统层面的性能微调工具 褚霸 核心系统数据库组 chuba@taobao.com http://yufeng.info 2010/11/15
2.
用途及关键特性 非侵入式,无需重新编译系统. 整个系统层面的Profile, All code
is profiled. 利用硬件计数器. 低overhead. OProfile is a system-wide profiler for Linux systems, capable of profiling all running code at low overhead.
3.
Oprofile系统工作流图
4.
安装(RHEL5U4) 首先需要安装内核符号信息 rpm -i kernel-debuginfo-common-2.6.18-164.el5.x86_64.rpm rpm
-i kernel-debuginfo-2.6.18-164.el5.x86_64.rpm 安装好的vmlinux在这里: /usr/lib/debug/lib/modules/2.6.18-164.el5/vmlinux Oprofile发行版内置的,无需安装,最新版本0.9.6 文档: man oprofile 官方网站: http://oprofile.sourceforge.net/news/
5.
确定观察什么 Oprofile在Nehalem CPU上可以观测的事件列表: opcontrol --list-events 设置事件: opcontrol
--setup --event=name:count:unitmask:kernel:user -- event=xxxx 常用的事件有以下几种: CPU_CLK_UNHALTED: CPU执行时间 LLC_MISSES: 末级Cache miss DTLB_MISSES: 数据TLB miss
6.
准备我们的程序 我们的程序,包括内核驱动都需要有符号信息: 应用程序这样编译: gcc -g foo.c
... 查看内核的导出的符号信息: cat /proc/kallsyms
7.
初始化Oprofile # 加载oprofile内核模块 opcontrol --init #我们对内核的取样没兴趣 opcontrol
--setup --no-vmlinux #我们需要内核的取样 opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/2.6.18-164. el5/vmlinux
8.
采样数据 #在开始收集采样数据前回顾下我们的设置 opcontrol --status #清除上一次采样到的数据 opcontrol --reset #启动oprofiled守护程序,从内核中拉出采样数据 opcontrol
--start #运行我们的程序 ./foo #中途收集采样数据 opcontrol --dump #关闭守护程序, 同时准备好采样的数据 opcontrol --shutdown
9.
采样报告 #系统级别的 opreport --long-filenames #模块级别的 opreport image:foo
-l #源码级别的 opannotate image:foo -s
10.
最常用的命令 opcontrol --init opcontrol --setup
--no-vmlinux opcontrol --status opcontrol --start opcontrol --dump opcontrol --shutdown opcontrol --reset opreport --long-filenames opreport image:filename -l opannotate image:filename -s
11.
实例演示-代码(ex1.c) #include <string.h> const char*
find_str(const char* s, int l){ const char* e = s+l; while(s <e) { if(*s == '<') return s; s++; } } int main(int argc, char* argv[]) { char*s = argv[1]; int i, l; if(argc ==1) return -1; l=strlen(s); for(i = 0; i < 100000000; i++) find_str(s, l); return 0; }
12.
一步步来看下实际效果 opcontrol --setup -e
CPU_CLK_UNHALTED:6000:0:0:1 opcontrol --status opcontrol --reset && opcontrol --start time ./ex1 helloworld opcontrol --shutdown opannotate image:/home/wentong/ex1 -s
13.
opreport --long-filenames
14.
opannotate image:/home/wentong/ex1 -s
15.
参考 http://oprofile.sourceforge.net/examples/ http://people.redhat.com/wcohen/Oprofile.pdf
16.
谢谢大家! Any question?
Jetzt herunterladen