第 12 章 SystemTap


SystemTap 是一种跟踪和探测工具,允许用户监控整个系统的活动,而无需检测、重新编译、安装和重启。它可通过自定义脚本语言编程,其赋予了其表达性(进行跟踪、过滤和分析)以及访问(查看正在运行的内核和应用程序)。

SystemTap 可以监控各种类型的事件,如内核或应用程序、计时器、追踪点、性能计数器等函数调用。一些包括的示例脚本会生成类似于 netstatpstopiostat 的输出,另一些则包括用户打印的功能调用跟踪或用于处理安全漏洞的工具。

Red Hat Developer Toolset 与 SystemTap 4.5 一起发布。此版本比之前版本的 Red Hat Developer Toolset 中包含的版本更新,并提供大量程序错误修复和增强。

Expand
表 12.1. 使用 SystemTap 分发的工具用于 Red Hat Developer Toolset
Name描述

stap

将指令探测到 C 代码,构建内核模块并将其加载到正在运行的 Linux 内核中。

stapdyn

SystemTapDyninst 后端。

staprun

从使用 stap 实用程序构建的内核模块加载、卸载、附加和分离。

stapsh

用作 SystemTap 的远程 shell。

stap-prep

确定和--下载运行 SystemTap 所需的内核信息软件包。

stap-merge

合并每个 CPU 文件。当使用 -b 命令行选项执行 stap 实用程序时,会自动执行此脚本。

stap-report

收集有关系统的重要信息,以便在 SystemTap 中报告错误。

stap-server

编译服务器,侦听来自 stap 客户端的请求。

12.1. 安装 SystemTap

在 Red Hat Developer Toolset 中,SystemTapdevtoolset-11-systemtap 软件包提供,并使用 devtoolset-11-perftools 自动安装,如 第 1.5 节 “安装 Red Hat Developer Toolset” 所述。

要将检测放在 Linux 内核中,SystemTap 可能还需要使用调试信息安装其他软件包。要确定要安装的软件包,请运行 stap-prep 工具,如下所示:

$ scl enable devtoolset-11 'stap-prep'
Copy to Clipboard Toggle word wrap

请注意,如果您以 root 用户身份执行这个命令,工具会自动提供安装的软件包。有关如何在您的系统上安装这些软件包的更多信息,请参阅 Red Hat Enterprise Linux 7 SystemTap Beginners Guide

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat