26.2. 安装 SystemTap
要开始使用 SystemTap,请安装所需的软件包。要在具有多个内核的系统上使用 SystemTap,请为每个内核版本安装对应的内核软件包。
先决条件
- 您已启用了 debug 软件仓库,如 启用调试和源存储库 中所述。
流程
安装所需的 SystemTap 软件包:
dnf install systemtap
# dnf install systemtapCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装所需的内核软件包:
使用
stap-prep:stap-prep
# stap-prepCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
stap-prep无法正常工作,请手动安装所需的内核软件包:dnf install kernel-debuginfo-$(uname -r) kernel-debuginfo-common-$(uname -m)-$(uname -r) kernel-devel-$(uname -r)
# dnf install kernel-debuginfo-$(uname -r) kernel-debuginfo-common-$(uname -m)-$(uname -r) kernel-devel-$(uname -r)Copy to Clipboard Copied! Toggle word wrap Toggle overflow $(uname -m)会自动替换为您系统的硬件平台,$uname -r)会自动替换为正在运行的内核版本。
验证
如果当前使用 SystemTap 探测内核,请检查您的安装是否成功:
stap -v -e 'probe kernel.function("vfs_read") {printf("read performed\n"); exit()}'# stap -v -e 'probe kernel.function("vfs_read") {printf("read performed\n"); exit()}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关成功 SystemTap 部署,您会看到类似如下的输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
-
传递 5:启动运行表示 SystemTap 成功创建了检测程序来探测内核并运行检测。 -
执行读取表示 SystemTap 检测到指定的事件,本例中为 VFS 读取。 -
pass 5: run in & lt;time& gt; ms表示 SystemTap 执行有效的处理器。它显示文本并关闭且无错误。