Hongqiyaodao 发表于 2012-12-04 20:43

sleepcat 发表于 2012-12-04 22:55

下过一本书,还没看。

DTrace Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD

love2006 发表于 2012-12-06 08:56

应该是系统监测以及事后分析统计,内核级的,厉害啊,对开发系统很有帮助。


DTrace

目录

简介
特性
操作系统
编辑本段
简介

  DTrace(全称Dynamic Tracing),也称为动态跟踪,是由 Sun™ 开发的一个用来在生产和试验性生产系统上找出系统瓶颈的工具,可以以对核心(kernel)和应用程序(user application)进行动态跟踪并且对系统运行不构成任何危险的技术。在任何情况下它都不是一个调试工具, 而是一个实时系统分析寻找出性能及其他问题的工具。 DTrace 是个特别好的分析工具,带有大量的帮助诊断系统问题的特性。还可以使用预先写好的脚本利用它的功能。 用户也可以通过使用 DTrace D 语言创建他们自己定制的分析工具, 以满足特定的需求。
  1997年,供职于Sun而现已是Solaris内核研发部高级工程师的Bryan Cantrill 和他的工作组在紧张地研究一个性能问题,他出现在刚刚提及的Sun E10000服务器。该服务器在运行基准测试时,速度突然在一段时间内奇怪地降低。工作组经过六天夜以继日的工作后,终于发现了问题的根本原因。某个“愚蠢之极”的配置错误将服务器配置成了路由器。
  “我很受震惊,”Cantrill 说到, “这是任何一个客户都可能碰到的问题,但是他们可不敢奢望让内核研发人员为之夜以继日地工作,编写自定义代码以弄清楚问题。我们得找出一个更好的方法。” 经过两年半的紧张研发,Cantrill和他的工作组终于研究出了这个更好的方法: Dtrace 。
编辑本段
特性

  DTrace是过去十年中在操作系统方面最具意义的革新之一。Solaris中分散着30,000多的位置指针,也叫探测器probes,DTrace可激活成千上万的探测器,记录所关注的位置指定的数据,如命中,即可从该地址显示用户进程或系统内核的数据,从而了解系统,包括:
  1。任何函数的参数
  2。内核的任何全局变量
  3。函数调用的时间(NS,十亿分之一秒,无任何其他PC/Unix在ns一级精度)
  4。跟踪堆栈,包括指明函数调用的代码
  5。函数调用时运行的进程
  6。产生函数调用的线程
  7。统计调用次数、磁盘占用等信息
  Dtrace在追踪之外,也支持对系统的采样。
编辑本段
操作系统

  除Solaris系列以外,Dtrace已先后被移植到FreeBSD、NetBSD及Max OS X等操作系统上。

Hongqiyaodao 发表于 2012-12-06 19:58

Hongqiyaodao 发表于 2012-12-06 20:00

love2006 发表于 2012-12-07 23:18

应该是拦截应用程序系统调用syscall并经行统计,也能检测一些系统工具。

这里有使用指南。

http://docs.oracle.com/cd/E24847_01/html/E22192/gcfba.html#scrolltoc

具体应用,我觉得可以这样用

比如apache网页服务器性能大降,又不知道什么原因,可以考虑用
dtrace apache
跟踪看看,发现什么异常。

Hongqiyaodao 发表于 2012-12-09 17:44

页: [1]
查看完整版本: 谁能给我讲一下FreeBSD下的DTrace