第 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。 |
|
| 确定和--下载运行 SystemTap 所需的内核信息软件包。 |
|
|
合并每个 CPU 文件。当使用 |
|
| 收集有关系统的重要信息,以便在 SystemTap 中报告错误。 |
|
|
编译服务器,侦听来自 |
12.1. 安装 SystemTap 复制链接链接已复制到粘贴板!
在 Red Hat Developer Toolset 中,SystemTap 由 devtoolset-11-systemtap 软件包提供,并使用 devtoolset-11-perftools 自动安装,如 第 1.5 节 “安装 Red Hat Developer Toolset” 所述。
要将检测放在 Linux 内核中,SystemTap 可能还需要使用调试信息安装其他软件包。要确定要安装的软件包,请运行 stap-prep 工具,如下所示:
scl enable devtoolset-11 'stap-prep'
$ scl enable devtoolset-11 'stap-prep'
请注意,如果您以 root 用户身份执行这个命令,工具会自动提供安装的软件包。有关如何在您的系统上安装这些软件包的更多信息,请参阅 Red Hat Enterprise Linux 7 SystemTap Beginners Guide。