DTrace即动态跟踪Dynamic Tracing,是Solaris 10的一个新功能,透过此一新功能,用户能够动态检测操作系统内核和用户进程,以更精确地掌握系统的资源使用状况,提高系统性能,减少支持成本,并进行有效的调节。
1997年,供职于Sun而现已是Solaris内核开发部高级工程师的Bryan Cantrill 与他的工作组在紧张地研究一个性能问题,它出现在刚刚提及的Sun E10000服务器。该服务器在运行基准测试时,速度突然在一段时间内奇怪地降低。工作组经过六天夜以继日的工作后,终于发现了问题的根本原因。某个“愚蠢之极”的配置错误将服务器配置成了路由器。
“我很受震惊,”Cantrill 说到, “这是任何一个客户都可能遇到的问题,但是他们可不敢奢望让内核开发人员为之夜以继日地工作,编写自定义代码以弄清楚问题。我们得找出一个更好的方法。”
经过两年半的紧张开发,Cantrill和他的工作组终于研究出了这个更好的方法: Dtrace
DTrace是过去十年中在操作系统方面最具意义的革新之一:
Probe,Solaris中分散着30,000多的位置指针,也叫探测器probes,DTrace可激活成千上万的探测器,记录所关注的位置指定的数据,如命中,即可从该地址显示用户进程或系统内核的数据,从而了解系统,包括:
1。任何函数的参数
2。内核的任何全局变量
3。函数调用的时间(NS,十亿分之一秒,无任何其它PC/Unix在ns一级精度)
4。跟踪堆栈,包括指明函数调用的代码
5。函数调用时运行的进程
6。产生函数调用的线程
Probe于自定义D语言程序相关联,probe表示的格式为:
provider:module:function:name
1。显示当前动态系统中的动态Dtrace探针probe:
# dtrace -l |more
ID PROVIDER MODULE FUNCTION NAME
1 dtrace BEGIN
2 dtrace END
3 dtrace ERROR
4 vminfo fasttrap fasttrap_uwrite softlock
5 vminfo fasttrap fasttrap_uread softlock
6 fbt pool pool_open entry
7 fbt pool pool_open return
8 fbt pool pool_close entry
9 fbt pool pool_close return
10 fbt pool pool_ioctl entry
11 fbt pool pool_ioctl return
12 fbt pool pool_info entry
13 fbt pool pool_info return
。。。
43545 fbt zmod z_strerror return
43546 fbt zmod z_uncompress entry
43547 fbt zmod z_uncompress return
即当前本人V210上有43547个probe。
2。体验 dtrace 与 Unix ps 命令:
如用ps看mozilla进程:
# ps -e |grep mozilla
2386 pts/11 0:00 mozilla
2436 pts/11 10:12 mozilla-
也可使用dtrace 通过probe探针看:
# dtrace -n 'syscall::exece:return { trace(execname);}'
dtrace: description 'syscall::exece:return ' matched 1 probe
CPU ID FUNCTION:NAME
0 11082 exece:return uname
0 11082 exece:return uname
0 11082 exece:return basename
。。。
0 11082 exece:return sed
0 11082 exece:return mozilla-bin
1 11082 exece:return csh
1 11082 exece:return mozilla
。。。
2。实际dtrace看的更细,
如用date显示系统时间,很快就结束了,无法跟踪,体验dtrace跟踪效果:
% date
2005年05月24日 星期二 20时39分03秒 CST
# dtrace -n 'syscall::exece: {trace(timestamp)}'
ddtrace: description 'syscall::exece: ' matched 2 probes
CPU ID FUNCTION:NAME
0 11081 exece:entry 102890531281542
0 11082 exece:return 102890532181875
即可跟踪其在第102890531281542纳秒开始读取,第102890532181875返回结果。
3。体验Dtrace 对系统调用更多的观察:
如看机器忙闲状态,常用vmstat:
# vmstat 1
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
热 门 新 闻![]() 丰俭由君,AMD发烧友不 | ![]() 爱国者录音笔全国掀促销 |
| · | 丰俭由君,AMD发烧友不可错过 |
| · | 爱国者录音笔全国掀促销攻势 初战告捷 |
| · | 液显排排站“绝色”“赢家”“黑钻”逐个挑 |
| · | 领航者! 微星NX8500GT-TD512E驾到! |
| · | 巅峰对决 6款神舟3999元双核本推荐 |
| · | 视觉计算世界齐聚NVISION 08 |
最 新 本 地 信 息![]() 南充电脑城漫游记3-30[ | ![]() 内存中的战斗机 金邦黑 |
| · | 南充电脑城漫游记3-30[第八期] |
| · | 内存中的战斗机 金邦黑龙EVO游戏内存 |
| · | 性价比超群 双敏火旋风HD3650玩家版仅售59 |
| · | 再降100元 双敏火旋风HD3690玩家版降至799 |
| · | 南充电脑城漫游记3-23[第七期] |
| · | 轻薄圆润迅驰4 戴尔Inspiron1525仅售5999元 |
ZOLNC 推 荐 经 销 商![]() 就要非入耳 抛弃入耳式耳塞的4大理由 | ![]() 玩爽HTPC 近期公认超值5.1音箱大搜罗 |
![]() 超值数码:行货T61欲破万元 理光DC齐降价 | ![]() 个性解放 时尚另类设计电脑哪款更好 |
![]() 海量存储 联想天逸F41顶配本杀破万元 | ![]() 双核D刻120GB硬盘本 宏碁4520售4699元 |
| · | 阻止我的IE强行弹出广告 | · | 教你Word操作中一些很少 |
| · | Kmplayer简体中文版+ex | · | 买火车票很简单 四招搞 |
| · | 简单三招——远程共享你 | · | 新手进阶 处理Excel表格 |
| · | 酷6网率先启动了“原创 | · | 谷歌提供离线文档编辑功 |
| · | 百度渗透WiMax领域 打造 | · | 消息称谷歌将裁减15% D |
| · | 传谷歌有意收购美国最大 | · | 百度联盟角色升级 变身 |
| · | Moki小猴登场 三星YP-T | · | 死磕日系!康佳旗舰液晶 |
| · | 绝色外观!海信TLM46V69 | · | [论坛]我和长虹PT50600 |
| · | [论坛]首发!夏普32BK7 | · | 液晶面板过剩 成4月价格 |
| · | 直播RMVB电影 蓝慧真宽 | · | 滑动触摸按键 纽曼MOMO |
| · | 画质取胜入门首选 5倍光 | · | 中频表现突出! 现代HY- |
| · | 主流攀上1066 宏连新款 | · | 1460万像素 三星GX-20单 |
|