Tenho executado um teste contínuo de testes de disco sysbench em meu sistema Linux que usa compact flash. Estou vendo alguns erros na saída, conforme mostrado abaixo. O que esses erros significam exatamente? Eles significam que algumas leituras de disco falharam? A peça em si é de nível industrial e suporta SMART, e a SMART não relatou falhas irrecuperáveis de ECC.
O comando que eu estava usando para executar o teste foi:
enquanto verdadeiro; faça 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 executar; sincronizar; sysbench --num-threads=16 --test=fileio --file-total-size=3500M --file-test-mode=rndrw limpeza; feito
Exemplo de saída:
sysbench 0.4.12: benchmark de avaliação de sistema multithread 128 arquivos, 28.000 KB cada, 3.500 MB no total Criando arquivos para o teste... FATAL: Falha ao gravar arquivo! errno = 28 (¦?¦) sysbench 0.4.12: benchmark de avaliação de sistema multithread Executando o teste com as seguintes opções: Número de tópicos: 16 Sinalizadores de abertura de arquivo extra: 0 128 arquivos, 3,9062 MB cada Tamanho total do arquivo de 500 MB Tamanho do bloco 16Kb Número de solicitações aleatórias para IO aleatório: 10.000 Proporção de leitura/gravação para teste IO aleatório combinado: 1,50 FSYNC periódico habilitado, chamando fsync() a cada 100 solicitações. Chamando fsync() no final do teste, Enabled. Usando o modo de E/S síncrona Fazendo teste r/w aleatório Tópicos iniciados! FATAL: Falha ao ler o arquivo! arquivo: 127 pos: 2965504 errno = 0 () FATAL: Falha ao ler o arquivo! arquivo: 127 pos: 540672 errno = 0 () FATAL: Falha ao ler o arquivo! arquivo: 130 pos: 655360 errno = 0 () FATAL: Falha ao ler o arquivo! arquivo: 129 pos: 2441216 errno = 0 () FATAL: Falha ao ler o arquivo! arquivo: 129 pos: 475136 errno = 0 () FATAL: Falha ao ler o arquivo! arquivo: 128 pos: 2588672 errno = 0 () FATAL: Falha ao ler o arquivo! arquivo: 126 pos: 2588672 errno = 0 () FATAL: Falha ao ler o arquivo! arquivo: 127 pos: 2899968 errno = 0 () FATAL: Falha ao ler o arquivo! arquivo: 125 pos: 3309568 errno = 0 (T¦v¦) FATAL: Falha ao ler o arquivo! arquivo: 126 pos: 49152 errno = 0 (¦v¦0R0¦¦¦v¦R0¦¦u¦¦Q0¦T¦Q0¦T¦v¦) FATAL: Falha ao ler o arquivo! arquivo: 125 pos: 1097728 errno = 0 () FATAL: Falha ao ler o arquivo! arquivo: 126 pos: 606208 errno = 0 () FATAL: Falha ao gravar arquivo! arquivo: 125 pos: 3440640 errno = 28 () FATAL: Falha ao wrisysbench 0.4.12: benchmark de avaliação de sistema multithread
Responder1
Pode ser um bug no sysbench. Encontrei um semelhante aqui intitulado:A execução de 'prepare' no teste fileio com --file-extra-flags=direct falha.
excerto
./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)
Eu registraria um bug no projeto SysBench. Você pode fazer isso aqui:
Especificamente há umlink ao lado (à direita) para relatar bugs.