Как я могу запустить FIO для Windows и перенаправить вывод в файл и консоль одновременно

Я использую FIO 2.1.8 (Windows 2012 R2) и пытаюсь выяснить, как я могу использовать файл bat с FIO и командой –output =, но одновременно отображать вывод на экран консоли.

Я хочу иметь возможность контролировать экран в режиме реального времени, но мне также нужен журнал, чтобы я мог анализировать ошибки и метрики после выполнения рабочей нагрузки. Проблема в том, что, кажется, нет способа сделать то и другое.

Если я включаю выходной аргумент, то все выходные данные на экране подавляются, и если я пытаюсь сделать любой другой тип перенаправления, консоль никогда не обновляется.

Кто-нибудь знает, как добиться этого с FIO в Windows?

Я пытался использовать

  • Тройник (через Гоу)

  • Стандартное перенаправление доз (например, &>1)

  • Обертывание файла bat в сценарии powershell с использованием START-TRANSCRIPT

Во всех случаях это не работает.

"C:\Program Files\fio\fio.exe" --name=warmup --readwrite=randrw --rwmixread=70 --bs=64k --ba=64k --filename=E\:\FIO_
datafile.dat --size=32m --ioengine=windowsaio  --runtime=900 --time_based --iodepth=4 --numjobs=32  --eta=always

Спасибо...

1 ответ

Tee-Object PowerShell работал для меня:

& ./fio --eta=always --ioengine=null --thread --time_based --runtime=10s --size=1M --name=go | Tee-Object fioout.txt

(Кроме того: из-за того, как работает Windows, у вас точно нет псевдо-ttys, поэтому другим программам часто трудно притвориться терминалами, чтобы исходная программа не распознала их как перенаправление на файл)

Другие вопросы по тегам