第 12 章 SystemTap
SystemTap 是跟踪和探测工具,允许用户监控整个系统的活动,而无需检测、重新编译、安装和重新引导。它可以通过自定义脚本语言进行编程,该语言可为其提供表达性(追踪、过滤和分析),并到达 (查找正在运行的内核和应用程序)。
SystemTap 可以监控各种类型的事件,如内核或应用程序中的函数调用、计时器、追踪点、性能计数器等。某些包括的示例脚本会生成与 netstat
、ps
、top
和 iostat
类似的输出,其他脚本包括用于解决安全问题的广泛打印函数调用图形或工具。
Red Hat Developer Toolset 带有 SystemTap 4.5。此版本比 Red Hat Developer Toolset 中包含的版本更新,提供多个程序错误修复和增强。
Name | 描述 |
---|---|
| 将指令转换为 C 代码,构建内核模块并将其加载到正在运行的 Linux 内核中。 |
| SystemTap 的 Dyninst 后端。 |
|
从使用 |
| 作为 SystemTap 的远程 shell。 |
| 确定 和-if possible-downloads 运行 SystemTap 所需的内核信息软件包。 |
|
合并每个 CPU 文件。当使用 |
| 收集系统的重要信息,以报告 SystemTap 中的错误。 |
|
编译服务器,用于侦听来自 |
12.1. 安装 SystemTap
在红帽 Developer Toolset 中,devtoolset-11-systemtap 软件包提供 SystemTap
,并自动安装 devtoolset-11-perftools,如 第 1.5 节 “安装 Red Hat Developer Toolset” 所述。
为了将工具放入 Linux 内核,SystemTap 可能还需要使用调试信息安装附加软件包。要确定要安装的软件包,请运行 stap-prep
工具,如下所示:
$ scl enable devtoolset-11 'stap-prep'
请注意,如果您以 root
用户身份执行此命令,实用程序会自动提供用于安装的软件包。有关如何在系统中安装这些软件包的更多信息,请参阅 Red Hat Enterprise Linux 7 SystemTap 开始使用指南。