FIO通过子进程运行时会生成空文件

问题描述 投票:0回答:1

通过子进程运行FIO时出现问题。

[当通过选项--bandwidth-log运行FIO时,通过子进程运行命令时,创建的文件(agg-read_bw.log)为空。FIO命令使用以下子进程调用来运行:

cmd_stat = subprocess.check_output(cmd, shell=True)

如果我通过命令提示符运行确切的字符串,则将正确生成并填充文件。在这两种情况下,FIO作业均成功完成。

这是在Ubuntu 18.04,python 2.7.17,FIO版本3.16上的。

编辑:在Python 3.6上尝试过,结果相同

以下是显示此行为的命令的示例:fio --filename = / dev / sda2 --readwrite = read --size = 1g --name = bw_test --bandwidth-log

python-2.7 subprocess
1个回答
0
投票

使用--bandwidth-log选项在默认为500毫秒的bwavgtime指定的时间段内对I / O进行采样(奇怪的是,bwavgtime是命令行选项,而--bandwidth-log是每个作业选项)。如果您没有设置bwavgtime,如果您的作业至少有半秒钟没有运行,那么到它退出时,将不会进行“带宽日志”采样,并且带宽日志文件将为空。

© www.soinside.com 2019 - 2024. All rights reserved.