楼主: vage

[精华] 揭密Oracle之七种武器二:DTrace语法:跟踪物理IO

[复制链接]
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
81#
发表于 2013-2-3 22:27 | 只看该作者
非一般的人,楼主

使用道具 举报

回复
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
82#
发表于 2013-3-25 16:33 | 只看该作者
牛人,学习了。

DTRACE好像迁移到Linux了,可以尝试试试

使用道具 举报

回复
论坛徽章:
4
2010广州亚运会纪念徽章:曲棍球
日期:2011-04-13 13:44:14ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:482013年新春福章
日期:2013-02-25 14:51:24蛋疼蛋
日期:2013-03-25 16:01:35
83#
发表于 2013-3-25 16:59 | 只看该作者
表示望尘莫及。。。

使用道具 举报

回复
论坛徽章:
7
鲜花蛋
日期:2012-11-19 14:33:05复活蛋
日期:2012-11-25 16:37:28蛋疼蛋
日期:2013-01-10 11:03:472013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:48:49马上加薪
日期:2014-02-18 16:48:49优秀写手
日期:2014-08-16 06:00:13
84#
发表于 2013-5-16 00:28 | 只看该作者
我测试环境 solaris10 + 10g

dtrace 代码是
BEGIN
{
printf("%10s %58s %2s\n", "DEVICE", "FILE", "RW");
}
io:::start
{
printf("%10s %58s %2s\n", args[1]->dev_statname,
args[2]->fi_pathname, args[0]->b_flags & B_READ ? "R" : "W");
}



输出结果:

1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  0   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start       zfs1                                                     <none>  W

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  W

  0   4314              bdev_strategy:start      cmdk0                                                     <none>  W

  0   4314              bdev_strategy:start      cmdk0                                                     <none>  W

  1   4314              bdev_strategy:start       zfs1                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start       zfs1                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  0   4314              bdev_strategy:start       zfs1                                                     <none>  R

  0   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start       zfs1                                                     <none>  W

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  W

  0   4314              bdev_strategy:start      cmdk0                                                     <none>  R

  1   4314              bdev_strategy:start      cmdk0                                                     <none>  R


这里的io目标路径为什么都是  <none>

使用道具 举报

回复
论坛徽章:
14
生肖徽章2007版:兔
日期:2008-11-27 14:56:58懒羊羊
日期:2015-03-04 14:52:11马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02优秀写手
日期:2013-12-18 09:29:12Jeep
日期:2013-10-18 09:18:42夏利
日期:2013-08-29 09:04:402013年新春福章
日期:2013-02-25 14:51:242012新春纪念徽章
日期:2012-01-04 11:53:54ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
85#
发表于 2013-5-27 10:34 | 只看该作者
你好,这段代码
io:::start
/ 我自己的Log文件 /
{
        rd=copyin((uintptr_t )(args[0]->b_addr),16);
        bn[0]=rd[4];
        bn[1]=rd[5];
        bn[2]=rd[6];
        bn[3]=rd[7];
        seq[0]=rd[8];
        seq[1]=rd[9];
        seq[2]=rd[10];
        seq[3]=rd[11];
        printf("IO number:%d %s %s %d %s Seq:%d,Block:%d\n",i,args[1]->dev_statname,args[2]->fi_pathname,args[0]->b_bcount,args[0]-
>b_flags&B_READ?"R":"W",*((int *)&seq[0]),*((int *)&bn[0]));
        i++;               
}

我发现在Commit的时候会报错,后来我发现是这句代码
rd=copyin((uintptr_t )(args[0]->b_addr),16);


-bash-3.2# ./cc.txt
dtrace: script './cc.txt' matched 7 probes
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60
dtrace: error on enabled probe ID 6 (ID 872: io:genunix:bdev_strategy:start): invalid address (0x0) in action #1 at DIF offset 60

帮忙看下是什么回事???

使用道具 举报

回复
论坛徽章:
70
夏利
日期:2013-09-29 21:02:15天蝎座
日期:2016-03-08 22:25:51嫦娥
日期:2014-03-04 16:46:45ITPUB年度最佳技术原创精华奖
日期:2014-03-04 16:19:29马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:11
86#
 楼主| 发表于 2013-5-28 14:01 | 只看该作者
Charele 发表于 2013-5-27 10:34
你好,这段代码
io:::start
/ 我自己的Log文件 /

你用的是SOLARIS几啊。

这两天电脑坏了,没测试环境,这后来记得这里在最新的solaris下,这点要修改一下的。

使用道具 举报

回复
论坛徽章:
0
87#
发表于 2013-5-29 22:27 | 只看该作者
不懂,膜拜LZ

使用道具 举报

回复
论坛徽章:
14
生肖徽章2007版:兔
日期:2008-11-27 14:56:58懒羊羊
日期:2015-03-04 14:52:11马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02优秀写手
日期:2013-12-18 09:29:12Jeep
日期:2013-10-18 09:18:42夏利
日期:2013-08-29 09:04:402013年新春福章
日期:2013-02-25 14:51:242012新春纪念徽章
日期:2012-01-04 11:53:54ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
88#
发表于 2013-5-30 20:45 | 只看该作者
vage 发表于 2013-5-28 14:01
你用的是SOLARIS几啊。

这两天电脑坏了,没测试环境,这后来记得这里在最新的solaris下,这点要修改一 ...

sol-10-u11-ga-x86-dvd.iso
这个版本。
照你的意思,怎么改呢???

使用道具 举报

回复
论坛徽章:
12
奥运纪念徽章
日期:2013-05-20 09:57:09问答徽章
日期:2014-03-04 13:57:52技术图书徽章
日期:2014-09-28 09:06:52
89#
发表于 2013-5-30 21:55 | 只看该作者
太好了!

使用道具 举报

回复
论坛徽章:
18
奥运会纪念徽章:沙滩排球
日期:2012-06-15 18:46:552015年新春福章
日期:2015-03-06 11:58:39慢羊羊
日期:2015-03-04 14:53:33马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08优秀写手
日期:2014-01-24 06:00:15三菱
日期:2013-08-21 16:52:31奔驰
日期:2013-07-30 17:57:36比亚迪
日期:2013-07-30 17:57:36Jeep
日期:2013-07-30 17:57:36
90#
发表于 2013-7-31 11:55 | 只看该作者
linux下的反调试不熟,DTrace没用过,GDB还了解一点点.
win32下的OD,softice用的比较多,但是不知道从哪里开始下手,V大神指点下吧!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表