文档章节

systemtap安装与使用

banwh
 banwh
发布于 2017/08/25 15:44
字数 248
阅读 7
收藏 0
点赞 0
评论 0

http://sourceware.org/systemtap/tutorial.pdf

 

安装systemtap环境

#yum install systemtap systemtap-runtime

安装内核调试信息

连上外网,使用stap-prep 命令安装

# stap-prep

如果不能连上外网,或者没有yum源,需要手动下载内核调试信息安装

首先查看内核版本号uname -r

[root@ceph1 ~]# uname -r
3.10.0-123.el7.x86_64

那么需要安装的内核包如下:

kernel-debuginfo-3.10.0-123.el7.x86_64

kernel-debuginfo-common-x86_64-3.10.0-123.el7.x86_64

kernel-devel.x86_64-3.10.0-123.el7.x86_64

安装ceph调试信息包

ceph-debuginfo.x86_64

 并安装,ceph调试包的版本号,必须和所部署的ceph的版本号一致。

 

使用systemtap

#vi osd.stp

probe   process("ceph-osd").function("OSD::*").call
,   process("ceph-osd").function("OSDService::*").call
{
       printf("%s -> %s\n", thread_indent(4), ppfunc());
}​​​​​​​

process表示程序的名称,function表示函数的名字,如果OSD::*,表示输出所有OSD类的相关函数。

printf表示打印出,用法类似C语言的printf,thread_indent表示打印线程号,ppfunc()表示打印出函数名

运行

#stap -x {osdpid} osd.stp 

 

© 著作权归作者所有

共有 人打赏支持
banwh
粉丝 1
博文 52
码字总数 78166
作品 0
海淀
程序员
systemtap系列之语法精粹

1. 常用技巧 systemtap可以实现交叉编译: 编译可执行模块如下: stap -r kernelversion script -m modulename 运行命令如下: staprun module_name.ko stap命令会读取脚本的指令,并翻译成C...

binarydady ⋅ 06/14 ⋅ 0

使用 Fuse 来进行 I/O 错误注入

在之前介绍 SystemTap 的文章中,我提到了我们使用 SystemTap 做了很多 I/O 错误注入的工作,但也有一些局限,譬如: Delay 的时间如果过长,就可能导致 SystemTap 出错。 不支持动态调节,如...

siddontang ⋅ 06/02 ⋅ 0

linux tracing和profiling概论

  在工作中经常用到各种跟踪调试工具, strace, ltrace, kprobes, tracepoints, uprobes, ftrace, perf, 和 eBPF。他们之间到底啥关系?本文从总体上进行概述,如果有错误欢迎指正。 1.1....

binarydady ⋅ 05/01 ⋅ 0

DISK 100% BUSY,谁造成的?

iostat等命令看到的是系统级的统计,比如下例中我们看到/dev/sdb很忙,如果要追查是哪个进程导致的I/O繁忙,应该怎么办? 进程的内核数据结构中包含了I/O数量的统计: 可以直接在 /proc/<pid...

banwh ⋅ 06/05 ⋅ 0

利用matlab的fimcon函数求冗余约等方程组

最近做毕设,遇到一个用普通计时器测量毫秒级时间的问题。由于实验室条件限制,不能直接测量或者采用其他仪器,为保证精度,想起了小学时做的用铅笔测铁丝直径的实验。如下图,将铁丝绕到铅笔...

pofeiren1069 ⋅ 04/06 ⋅ 0

XenApp_XenDesktop_7.6实战篇之五:组织单元、用户(组)、权限规划及配置

对于本章节而言,对于组织单元、用户和权限的规划在企业环境当中是非常重要的,也是真正体现项目人员是否真的足够职业,但是此类规划往往会被大家所忽略。希望大家在平时的实验测试中就要抱着...

余二五 ⋅ 2017/11/08 ⋅ 0

使用 SystemTap 调试内核

在 SystemTap 出现之前,对于 Linux 程序员或者系统管理员而言,调试内核往往是一场噩梦。例如,你怀疑传递给系统调用 read 的参数 fd 出了问题,想把它打印出来,你需要做的是:首先得到一份...

红薯 ⋅ 2009/09/15 ⋅ 0

systemtap基础安装

为部署systemtap,除了systemtap安装包,还需要-devel,-debuginfo和-debuginfo-common包;如果系统有多个内核,必须为每个版本内核各安装-devel和-debuginfo包; 安装systemtap 需要systemt...

pesen ⋅ 2014/05/12 ⋅ 0

SystemTap知识(一)

SystemTap是一个系统的跟踪探测工具。它能让用户来跟踪和研究计算机系统在底层的实现。 安装SystemTap需要为你的系统内核安装-devel,-debuginfo,-debuginfo-common包 使用下面的repo可以进...

王二狗子11 ⋅ 01/07 ⋅ 0

Office 365系列之十:批量部署O365客户端

转眼间已经到整个系列的第十部分了,购买了O365订阅服务后,为了给用户更好的体验需要为用户部署客户端,之前我们提到的用户通过O365管理中心使用即点即用技术自助完成安装,但是这样客户端是...

余二五 ⋅ 2017/11/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Boost库编译应用

版本:Boost 1.66.0 Windows库编译 官网指南:直接执行bootstrap.bat处理文件即可,可以我却遇到一堆的问题。 环境:Windows 10 + Visual Studio 2017 Boost编译出来库命名 boost库生成文件命...

水海云 ⋅ 27分钟前 ⋅ 0

解决Eclipse发布到Tomcat丢失依赖jar包的问题

如果jar文件是以外部依赖的形式导入的。Eclipse将web项目发布到Tomcat时,是不会自动发布这些依赖的。 可以通过Eclipse在项目上右击 - Propertics - Deployment Assembly,添加“Java Build ...

ArlenXu ⋅ 27分钟前 ⋅ 0

iview tree组件层级过多时可左右滚动

使用vue+iview的tree组件,iview官网iview的tree树形控件 问题描述:tree层级过多时左右不可滚动 问题解决:修改overflow属性值 .el-tree-node>.el-tree-node_children { overflow: vi...

YXMBetter ⋅ 29分钟前 ⋅ 0

分布式锁

1.通过数据库实现 http://www.weizijun.cn/2016/03/17/%E8%81%8A%E4%B8%80%E8%81%8A%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E7%9A%84%E8%AE%BE%E8%AE%A1/ 2.ZK实现:curator-recipes分布式锁的......

素雷 ⋅ 38分钟前 ⋅ 0

Sublime Text3 快捷键

选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。 Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名...

AndyZhouX ⋅ 44分钟前 ⋅ 0

XamarinAndroid组件教程RecylerView自定义适配器动画

XamarinAndroid组件教程RecylerView自定义适配器动画 如果RecyclerViewAnimators.Adapters命名空间中没有所需要的适配器动画,开发者可以自定义动画。此时,需要让自定义的动画继承Animation...

大学霸 ⋅ 44分钟前 ⋅ 0

eureka 基础(二)

使用Eureka服务器进行身份验证 如果其中一个eureka.client.serviceUrl.defaultZone网址中包含一个凭据(如http://user:password@localhost:8761/eureka)),HTTP基本身份验证将自动添加到您...

明理萝 ⋅ 48分钟前 ⋅ 1

Kubernetes(五) - Service

Kubernetes解决的另外一个痛点就是服务发现,服务发现机制和容器开放访问都是通过Service来实现的,把Deployment和Service关联起来只需要Label标签相同就可以关联起来形成负载均衡,基于kuberne...

喵了_个咪 ⋅ 48分钟前 ⋅ 0

更新队友POM文件后报错

打开报错的地方的pom及其引用方法所在文件的pom,观察其版本号是否一致,不一致进行更改

森火 ⋅ 今天 ⋅ 0

IDEA使用sonarLint

一、IDEA如何安装SonarLint插件 1.打开 Idea 2.点击【File】 3.点击【Settings】 4.点击【Plugins】 5.在搜索栏中输入“sonarlint”关键字 6.点击【Install】进行安装 7.重启Idea 二、IDEA如...

开源中国成都区源花 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部