在追蹤記錄中記錄 CPU 頻率

總覽

Fuchsia 追蹤功能可擷取支援動態電壓和頻率調整 (DVFS) 的裝置上,CPU 頻率的變化 (在核心中稱為「處理速率」)。這些變更會以計數器的形式顯示在追蹤資料中。

使用 RPPM (相對效能電源管理) 分析裝置效能時,這些軌跡特別實用,因為頻率變化可能會大幅影響執行時間。

擷取追蹤記錄

Zircon 核心會處理 CPU 頻率追蹤,這是 kernel:power 類別的一部分。開始追蹤時,請指定這個類別:

ffx trace start --categories "kernel:power"

瞭解 CPU 頻率計數器

擷取追蹤記錄後,您可以在 Perfetto 中查看及分析 CPU 頻率資料:

  1. 在 Perfetto 中開啟追蹤記錄檔案。
  2. 在軌跡清單中,找出核心程序下方的「Processing Rate:CPU:N」計數器 (其中 N 是 CPU 核心索引,例如 Processing Rate:CPU:0)。

「處理速率」計數器會顯示值,代表 CPU 相對於標準化比例的運作頻率:

  • 值為 1000 代表 CPU 以最高頻率 (100%) 運作。
  • 值越低代表頻率越低 (例如,值為 524 代表 CPU 的執行頻率約為最高頻率的 52.4%)。

如要計算實際頻率,請將這個百分比乘以 CPU 的最大頻率。舉例來說,如果最高頻率為 2.7 GHz,追蹤值 524 大約會轉換為 1.4 GHz (2.7 GHz 的 52.4%)。

這些值是從核心的內部處理速率乘數衍生而來,並以 1000 為比例。

瞭解頻寬需求計數器

kernel:power」類別也包含頻寬需求計數器,也就是 Constant BW Demand:CPU:N 計數器 (其中 N 是 CPU 核心索引)。

「Constant BW Demand」計數器代表核心的總期限使用率 (要求的 CPU 頻寬)。這是具有特定時間要求的執行緒所要求的 CPU 時間比例。

與處理速率類似,這些計數器會顯示相對於標準化比例的值:

  • 1000 代表 CPU 核心的最高使用率 (100%)。
  • 值越低代表使用率越低 (例如,值為 750 代表要求核心總容量 75% 的期限執行緒)。

需求與處理率之間的關係

這兩個計數器通常會一起變動:

  • 常數 BW 需求需求:顯示排定的執行緒要求執行的工作量。
  • 處理速率回應:核心會根據這項需求調整 CPU 頻率。

頻寬需求增加時,核心通常會提高處理速率 (頻率),確保能趕上期限。需求減少時,處理速率可能會降低。