sysbench 디스크 테스트에서 이러한 오류는 무엇을 의미합니까?

sysbench 디스크 테스트에서 이러한 오류는 무엇을 의미합니까?

나는 컴팩트 플래시를 사용하는 Linux 시스템에서 sysbench 디스크 테스트를 지속적으로 실행해 왔습니다. 아래와 같이 출력에 일부 오류가 표시됩니다. 이러한 오류는 정확히 무엇을 의미합니까? 일부 디스크 읽기가 실패했다는 의미입니까? 부품 자체는 산업용 등급 부품이며 SMART를 지원하며 SMART에서는 복구 불가능한 ECC 오류가 보고되지 않았습니다.

테스트를 실행하기 위해 사용한 명령은 다음과 같습니다.

사실이지만; sysbench --num-threads=16 --test=fileio --file-total-size=3500M --file-test-mode=rndrw prepare; 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 모드 사용
무작위 r/w 테스트 수행 중
스레드가 시작되었습니다!
치명적: 파일을 읽지 못했습니다! 파일: 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의 버그일 수도 있습니다. 여기에서 비슷한 제목을 찾았습니다.--file-extra-flags=direct를 사용하여 fileio 테스트에서 'prepare'를 실행하면 실패합니다..

발췌

./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 프로젝트에 버그를 신고하겠습니다. 여기에서 그렇게 할 수 있습니다:

구체적으로 다음이 있습니다.버그 보고를 위한 측면(오른쪽) 링크.

관련 정보