Я запускал непрерывный тест sysbench disk tests на моей системе Linux, которая использует Compact Flash. Я вижу некоторые ошибки в выводе, как показано ниже. Что именно означают эти ошибки? Означают ли они, что некоторые из операций чтения с диска не удались? Сама деталь является промышленной деталью и поддерживает SMART, а SMART не сообщил об отсутствии неустранимых сбоев ECC.
Команда, которую я использовал для запуска теста, была следующей:
while true; do sysbench --num-threads=16 --test=fileio --file-total-size=3500M --file-test-mode=rndrw preparation; sysbench --num-threads=16 --test=fileio --file-total-size=500M --file-test-mode=rndrw run; sync; sysbench --num-threads=16 --test=fileio --file-total-size=3500M --file-test-mode=rndrw cleanup; done
Пример вывода:
sysbench 0.4.12: многопоточный системный оценочный тест 128 файлов, 28000Кб каждый, всего 3500Мб Создание файлов для теста... FATAL: Не удалось записать файл! errno = 28 (¦?¦) sysbench 0.4.12: многопоточный системный оценочный тест Запуск теста со следующими параметрами: Количество потоков: 16 Дополнительные флаги открытия файла: 0 128 файлов по 3,9062 Мб каждый Общий размер файла 500 Мб Размер блока 16Кб Количество случайных запросов для случайного ввода-вывода: 10000 Соотношение чтения/записи для комбинированного теста случайного ввода-вывода: 1,50 Периодическая FSYNC включена, вызывая fsync() каждые 100 запросов. Вызов fsync() в конце теста, включен. Использование синхронного режима ввода-вывода Выполнение случайного теста чтения/записи Темы начаты! FATAL: Не удалось прочитать файл! file: 127 pos: 2965504 errno = 0 () FATAL: Не удалось прочитать файл! file: 127 pos: 540672 errno = 0 () FATAL: Не удалось прочитать файл! file: 130 pos: 655360 errno = 0 () FATAL: Не удалось прочитать файл! file: 129 pos: 2441216 errno = 0 () FATAL: Не удалось прочитать файл! file: 129 pos: 475136 errno = 0 () FATAL: Не удалось прочитать файл! file: 128 pos: 2588672 errno = 0 () FATAL: Не удалось прочитать файл! file: 126 pos: 2588672 errno = 0 () FATAL: Не удалось прочитать файл! file: 127 pos: 2899968 errno = 0 () FATAL: Не удалось прочитать файл! file: 125 pos: 3309568 errno = 0 (T¦v¦) FATAL: Не удалось прочитать файл! file: 126 pos: 49152 errno = 0 (¦v¦0R0¦¦¦v¦R0¦¦u¦¦Q0¦T¦Q0¦T¦v¦) FATAL: Не удалось прочитать файл! file: 125 pos: 1097728 errno = 0 () FATAL: Не удалось прочитать файл! file: 126 pos: 606208 errno = 0 () FATAL: Не удалось записать файл! file: 125 pos: 3440640 errno = 28 () FATAL: Не удалось выполнить wrisysbench 0.4.12: многопоточный системный оценочный тест
решение1
Может быть ошибка в sysbench. Я нашел похожую здесь под названием:Запуск «prepare» в тесте 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. Вы можете сделать это здесь:
В частности, естьссылка сбоку (справа) для сообщения об ошибках.