27.1.概述

DTrace,即动态跟踪,是一个由 Sun™ 开发的工具,用来在生产系统和预生产系统中定位性能瓶颈。除了诊断性能问题以外,DTrace 也可以被用来调查和调试 FreeBSD 内核与用户态程序中的异常行为。

DTrace 是一个卓越的性能分析工具,有着众多用于诊断系统问题的功能。它还可以用来执行预先编写好的脚本,以充分利用其功能。用户可以使用 DTrace 的 D 语言打造他们自己的工具,令用户能够根据特殊需求自定义他们的性能分析。

其在 FreeBSD 中提供了对内核态 DTrace 的完整支持与用户态 DTrace 的实验性支持。用户态 DTrace 允许用户使用 pid 执行对用户态程序的函数边界跟踪,并在用户态程序中插入静态探测器以便之后进行跟踪。像 databases/postgresql12-serverlang/php74 这样的 port 提供了一个 DTrace 选项来启用静态探测器。

DTrace 官方指南由 Illumos 项目维护,位于 DTrace 指南

读完本章后,你将知道:

  • DTrace 是什么,有什么用。

  • Solaris™ 和在 FreeBSD 中提供的 DTrace 实现有何区别。

  • 如何在 FreeBSD 中启用和使用 DTrace。

在你阅读本章之前,你应该:

  • 理解 UNIX® 和 FreeBSD 基础(FreeBSD 基础)。

  • 知悉有关 FreeBSD 的安全措施(安全)。