Cyclictest
是 rt-tests 下的一個測試工具,也是rt-tests 下使用最廣泛的測試工具,一般主要用來測試使用內核的延遲,從而判斷內核的實時性。
編譯安裝
sudo apt-get install build-essential libnuma-dev make
運行測試
要在每個CPU或每個CPU核心上運行一個測試線程,請輸入以下命令
sudo ./cyclictest -a -t -n -p99
在非實時系統中,您可能會看到類似的內容
T: 0 ( 3431) P:99 I:1000 C: 100000 Min: 5 Act: 10 Avg: 14 Max: 39242 T: 1 ( 3432) P:98 I:1500 C: 66934 Min: 4 Act: 10 Avg: 17 Max: 39661
最右邊的列包含最重要的結果,即最壞情況下的延遲為39.242毫秒。在啟用實時的系統上,結果可能如下所示
T: 0 ( 3407) P:99 I:1000 C: 100000 Min: 7 Act: 10 Avg: 10 Max: 18 T: 1 ( 3408) P:98 I:1500 C: 67043 Min: 7 Act: 8 Avg: 10 Max: 22
因此,表示短期最壞情況下的延遲為18微秒。
只在短時間內運行cyclictest,而不創建適當的實時壓力條件,這是非常沒有意義的,因為從空閑狀態執行異步事件通常總是非常快,而且每個—甚至非rt系統—都可以做到這一點。所面臨的挑戰是,無論外部事件到達時執行的代碼路徑是什么,都要盡量減少響應異步事件時的延遲。因此,在循環測試運行時必須存在特定的應力條件,以可靠地確定給定系統的最壞情況延遲。
您知道哪些好用的linux 實時性能測試工具,歡迎評論分享,共同探討學習
如果覺得文章能夠對您有所幫助,可以關注我,你的支持會鼓勵我不斷分享更多更好的優質文章。