2.5 Dtrace
今天我们来讲解第一个动态追踪技术 DTrace, 它是动态追踪技术的鼻祖
1. Dtrace 简介
Solaris 系统的 DTrace 是动态追踪技术的鼻祖,它提供了一个通用的观测框架,并可以使用 D 语言进行自由扩展。
今天我们来讲解第一个动态追踪技术 DTrace, 它是动态追踪技术的鼻祖
Solaris 系统的 DTrace 是动态追踪技术的鼻祖,它提供了一个通用的观测框架,并可以使用 D 语言进行自由扩展。
上一节我们学习了 perf 的基本原理,对 perf 有了一个整体上的认识,本节我们来学如何使用 perf 进行性能分析。
我们将按照如下几个部分来介绍 perf 的使用:

perf 感觉像是一个完全版的 top,可以帮助我们看到操作系统运行的全貌。perf 的使用非常复杂,本文只是一个入门,推荐大家去阅读大神 Brendangregg 的文章perf Examples。
最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework,采用 plugin 的方式支持开发人员添加更多种类的 trace 功能。
为了调试和追踪程序的运行过程,Linux 提供了众多的分析工具,本节我们先对它们做一个宏观概览。

在我们了解接下来的各种工具之前,我们首先应该问自己,我们要追踪或者说我们要优化什么。我们都知道程序的运行会占用包括 CPU,内存,文件描述符,锁,磁盘,网络等等在内的各种操作系统资源。根据2/8定律,当其中的某一个或多个资源出现瓶颈的时候,我们需要找到程序中耗费资源最大的地方,并对其优化。
这个系列文章,目的是学习一下 Linux 的性能优化,希望下一次服务器出问题时,不是只会一个 top。Linux 性能优化与 Linux 操作系统密切相关,所以想要学好非常不容易。