微調鎖定報告會顯示下列有關 spinlocks 的資訊:
- 取得取樣率
- 爭用取樣率
- 微調閾值
- CPU 數
- CPU 速度,以 MB 為單位
- 追蹤長度,以奈秒為單位
- 追蹤長度,以迴圈為單位
微調鎖定報表區段
報表的後續區段會顯示設定檔期間內的同步鎖定使用量。
個別微調鎖定
每個微調鎖定都會個別顯示。 微調鎖定會以第一個顯示的「熱測試」微調鎖定進行排序。 通常可以藉由查看前幾個微調鎖定來識別執行緒同步鎖定瓶頸。
每個微調鎖定都會顯示下列資訊:
- 鎖定類型
- 鎖定的核心位址
- 鎖定的符號 (請注意,動態建立的微調鎖定沒有符號)
摘要報表區段
摘要報告會遵循下列資訊:
- 鎖定擷取所花費 CPU 時間百分比
- 鎖定爭用所花費 CPU 時間百分比
- 鎖定擷取率
- 碰撞率
- 微調速率
- 爭用率,取樣和正規化
報表的最後兩個區段是因為中斷和發行函式而略過的事件。
因中斷而略過的事件
在保留執行緒同步鎖定時,可能會發生中斷。 發生這種情況時,中斷處理時間會包含在同步鎖定保留時間中,而同步鎖定保留時間會以無座標方式顯示。 Xperf 不包含在計算同步鎖定保留時間時處理中斷時所保留的微調鎖定事件。 此 Events skipped due to interrupts 行會顯示計算中未包含的事件數目。 這個數位通常非常小。
發行函式
微調鎖定可以從不同的程式碼路徑取得或釋放。 微調鎖定的發行函式清單會顯示在報表結尾。 清單會依同步鎖定保留時間排序。 也會顯示特定發行函式的其他資訊,例如擷取或爭用。
範例
下列範例示範如何取得同步鎖定資料的摘要。
xperf -i example.etl -symbols -o example.txt -a spinlock -summary
下列範例示範如何限制傳回至五個作用中線程同步鎖定的記錄數目。
xperf -i example.etl -symbols -o example.txt -a spinlock -summary -counts 5