這些錯誤在 sysbench 磁碟測試中意味著什麼?

這些錯誤在 sysbench 磁碟測試中意味著什麼?

我一直在使用緊湊型快閃記憶體的 Linux 系統上執行 sysbench 磁碟測試的連續測試。我在輸出中看到一些錯誤,如下所示。這些錯誤到底意味著什麼?這是否意味著某些磁碟讀取失敗?該部件本身是工業級部件,支援 SMART,且 SMART 報告沒有不可恢復的 ECC 故障。

我用來執行測試的命令是:

雖然真實;執行 sysbench --num-threads=16 --test=fileio --file-total-size=3500M --file-test-mode=rndrw 準備; sysbench --num-threads=16 --test=fileio --file-total-size=500M --file-test-mode=rndrw 運行;同步; sysbench --num-threads=16 --test=fileio --file-total-size=3500M --file-test-mode=rndrw 清理;完畢

範例輸出:

sysbench 0.4.12:多執行緒系統評估基準

128 個文件,每個 28000Kb,共 3500Mb
建立測試檔案...
致命:寫入檔案失敗!錯誤編號 = 28 (|||)
sysbench 0.4.12:多執行緒系統評估基準

使用以下選項執行測試:
線程數:16

額外的文件開啟標誌:0
128 個文件,每個 3.9062Mb
檔案總大小 500Mb
塊大小 16Kb
隨機IO的隨機請求數:10000
組合隨機 IO 測驗的讀/寫比率:1.50
啟用定期 FSYNC,每 100 個請求呼叫 fsync()。
測試結束時呼叫 fsync(),啟用。
使用同步I/O模式
進行隨機讀/寫測試
話題開始了!
致命:讀取文件失敗!文件:127位置:2965504 errno = 0()
致命:讀取文件失敗!文件:127 位置:540672 errno = 0 ()
致命:讀取文件失敗!文件:130 位置:655360 errno = 0 ()
致命:讀取文件失敗!文件:129 位置:2441216 errno = 0 ()
致命:讀取文件失敗!文件:129 位置:475136 errno = 0 ()
致命:讀取文件失敗!文件:128位置:2588672 errno = 0()
致命:讀取文件失敗!文件:126位置:2588672 errno = 0()
致命:讀取文件失敗!文件:127位置:2899968 errno = 0()
致命:讀取文件失敗!文件:125 位置:3309568 errno = 0 (T|v|)
致命:讀取文件失敗!檔案:126個位置:49152 errno = 0 (|v|0R0||v|R0|u||Q0|T|Q0|T|v|)
致命:讀取文件失敗!文件:125位置:1097728 errno = 0()
致命:讀取文件失敗!文件:126 位置:606208 errno = 0 ()
致命:寫入檔案失敗!文件:125位置:3440640 errno = 28()
致命:無法進行 wrisysbench 0.4.12:多執行緒系統評估基準測試

答案1

可能是 sysbench 中的錯誤。我在這裡找到了一個類似的標題:在 fileio 測試中使用 --file-extra-flags=direct 執行「準備」失敗

摘抄

./sysbench --test=fileio --file-total-size=1G --file-test-mode=rndrw --max-time=18000 --max-requests=0 --num-threads=4 --rand-init=on --file-num=2 --file-fsync-freq=0 --file-block-size=16384 --report-interval=10 --file-extra-flags=direct prepare
sysbench 0.5: multi-threaded system evaluation benchmark

2 files, 524288Kb each, 1024Mb total
Creating files for the test...
Extra file open flags: 3
Creating file test_file.0
FATAL: Failed to write file! errno = 9 (Bad file descriptor)

我會向 SysBench 專案提交一個錯誤。您可以在這裡這樣做:

具體來說有一個側面(右側)的連結用於報告錯誤

相關內容