Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

章 7. 編譯器與工具

SystemTap

SystemTap 是一項追蹤與探測工具,它能讓使用者了解、詳細監控作業系統的活動(尤其是 kernel 的活動)。它提供了類似 netstatpstop,以及 iostat 的資訊;然而,SystemTap 的設計,乃用於為已蒐集的資訊,提供了更多的篩選與分析選項。

RHEL 5.9 裡的 SystemTap 已經更新至 1.8 版,提供以下特徵與加強功能:
  • SystemTap runtime(staprun)現在可以接受 -T timeout 選項,以允許更低頻率的喚醒次數給來自 script 的低吞吐量輸出。
  • SystemTap 呼叫時,kbuild $PATH 環境是純淨的。
  • 現在 printf 格式可以使用 %#c 控制參數,以逸出非列印字元。
  • 現在 Pretty-printed 位元欄位使用整數;字元使用逸出格式來列印。
  • 現在 SystemTap 編譯伺服器與用戶端支援 IPv6 網路。
  • 現在 SystemTap 模組更小、編譯速度更快。模組的 debuginfo 預設上是不使用的。
  • 現在 @var 語法是在 uprobekprobe 處理程式(程序、kernel、模組)存取 DWARF 時的另一種語法。
  • SystemTap script 翻譯驅動程式(stap)現在提供了以下資源了限制選項:
    --rlimit-as=NUM
    --rlimit-cpu=NUM
    --rlimit-nproc=NUM
    --rlimit-stack=NUM
    --rlimit-fsize=NUM
    
  • 現在 SystemTap 編譯伺服器支援多個同步連線。
  • 以下 tapset 函數已經自 1.8 版本中淘汰,並將自 1.9 版本中移除:
    daddr_to_string()
    
  • 現在 SystemTap 會弄亂本地變數,以避免與 tapset 所引用的 C 表頭衝突。
  • 現在在內嵌式 C 函式中,應使用新定義的巨集 STAP_ARG_*,而非 THIS->* 標記法。BZ#751479