某些应用程序通过<
字符读取输入文件。例如,
./run_rog < input.txt
但是,以这种方式传递输入文件对perf
命令无效。
perf stat -e instructions ./run_prog < input.txt
Failed opening logfd: Invalid argument
我该如何解决?
答案 0 :(得分:1)
根据此source
在某些带有stdout的shell环境中运行perf-stat时 重定向有一个日志文件描述符设置失败:
Failed opening logfd: Invalid argument
显然,perf工具需要应用补丁来解决这个问题。
PS:试图通过以下方式重现您的问题:
$ > perf --version
perf version 2.6.32-431.11.2.el6.x86_64.debug
没问题:
$ > echo 'Test my perf' > input.txt
$ > perf stat -e instructions cat < input.txt
Test my perf
Performance counter stats for 'cat':
580,283 instructions # 0.00 insns per cycle
0.003284129 seconds time elapsed
答案 1 :(得分:1)
希望无处可寻:这对我来说在openSUSE 13.2上有针对性能3.16.4。这两个命令
echo 'This is the input file' > input.txt
perf stat -e instructions /usr/bin/cat < input.txt
产生输出
This is the input file
Performance counter stats for '/usr/bin/cat':
1,181,541 instructions
0.000597226 seconds time elapsed