第 7 章 编译程序及工具


SystemTap

SystemTap 是一个跟踪和探测工具,它可允许用户非常详细地了解并监控操作系统(特别是内核)的活动。它提供的信息类似 netstatpstopiostat 等工具的输出结果。但是 SystemTap 的设计是用来为收集的信息提供更多过滤和分析选项。

已将红帽企业版 Linux 5.9 中的 SystemTap 更新至版本 1.8,并提供以下功能和改进:
  • SystemTap 运行时(staprun)现在接受 -T 超时选项,允许脚本中的低流量输出使用较小唤醒频率进行轮询。
  • 现在被 SystemTap 调用后,会清除 kbuild $PATH 环境。
  • printf 格式现在可以使用 %#c 控制参数避开非打印字符。
  • 美化打印字节字段现在使用整数,字符现在使用 escape 格式输出。
  • SystemTap 编译服务器和客户端现在支持 IPv6 网络。
  • SystemTap 模块现在更小,编译更迅速。现在默认取消模块的 debuginfo。
  • @var 语法现在是访问 uprobekprobe 句柄中 DWARF 变量(进程、内核、模块)的可替换语言语法。
  • SystemTap 脚本转换器驱动程序(stap)现在提供以下资源限制选项:
    --rlimit-as=NUM
    --rlimit-cpu=NUM
    --rlimit-nproc=NUM
    --rlimit-stack=NUM
    --rlimit-fsize=NUM
    
  • SystemTap 编译服务器现在同时支持多个连接。
  • 在 1.8 发行本中弃用以下 tapset 功能,并将在 1.9 发行本中删除它们:
    daddr_to_string()
    
  • SystemTap 现在破坏本地变量以避免 tapset 所包含 C 标头之间的冲突。
  • 在内嵌的 C 功能中,应使用新定义的宏 STAP_ARG_* 而不是 THIS->* 符号。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.