我正在使用“time”命令分析Linux上的一个程序。问题是它的输出与统计不相关,因为它只运行一次程序。有没有一种工具或方法可以平均获得几次“时间”运行?可能aswe连同统计信息,如偏差?计算Linux中几个“时间”命令的平均值
2
A
回答
5
这是我写的一个脚本,用于执行类似于你在找什么。它运行提供的命令10次,将真实的用户CPU和系统CPU时间记录到文件中,并在每个命令输出后回显tham。然后它使用awk提供文件中3列中每一列的平均值,但不包括标准偏差。
#!/bin/bash
rm -f /tmp/mtime.$$
for x in {1..10}
do
/usr/bin/time -f "real %e user %U sys %S" -a -o /tmp/mtime.$$ [email protected]
tail -1 /tmp/mtime.$$
done
awk '{ et += $2; ut += $4; st += $6; count++ } END { printf "Average:\nreal %.3f user %.3f sys %.3f\n", et/count, ut/count, st/count }' /tmp/mtime.$$
+0
谢谢,这很好 - 只是需要它。我只是增加了'''NSAMPLES = $ {NSAMPLES-3}'',并且将$(seq 1 $ NSAMPLES)中的x的循环部分更改为 ',这样我就可以传递NSAMPLES env var来控制运行次数。 – EdvardM
0
就像上面提到的评论者一样,这听起来像你可能想要使用循环多次运行你的程序,以获得更多的数据点。您可以使用带-o选项的time命令将时间命令的结果输出到文本文件,如下所示: time -o output.txt myprog
相关问题
- 1. 平均时间计算
- 2. 计算平均值的平均值
- 3. 三个时期的计算平均值
- 4. 计算平均时间中的R
- 5. 如何计算MS reportviewer/rdlc中的平均计算平均值?
- 6. bash脚本来计算几个整数值的平均值
- 7. 计算平均值?
- 8. 计算平均值?
- 9. 计算平均值
- 10. 如何计算值的平均间隔?
- 11. 计算TIMEPERIOD之间的平均值
- 12. 计算行间隔的平均值
- 13. R-计算平均时间变量的均值(DATETIME)
- 14. 计算平均时间间隔
- 15. 在MATLAB中以小时计算的平均数据平均值
- 16. 计算时间间隔的小时平均值
- 17. couchdb:计算一个值的平均值
- 18. 计算Linux bash脚本的平均IO等待时间
- 19. 的Java计算平均执行时间
- 20. 如何计算多个秒表时间的平均值?
- 21. Rails如何计算几个选择框的平均值
- 22. 计算几个numpy蒙面数组的平均值(masked_all)
- 23. 计算多个平均值的平均值
- 24. MySQL的 - 计算平均值
- 25. 找到指数来计算时间序列的几个小时,每月平均
- 26. awk,计算不同时间间隔的平均值
- 27. 计算不同时间间隔的平均值
- 28. Linux Bash脚本,用于计算多个文件的平均值
- 29. 计算数据帧中确切小时的间隔平均值
- 30. 从EPOCH时间戳计算PowerShell中的平均值
您可以从'time',运行'time -v $ {program}'获得额外的信息。尽管如此,它不会产生* statiscally相关的*数据,但您可以在'for'循环中运行它,并解析结果。除此之外,您可以使用诸如'gprof'和[其他]的分析器(http://stackoverflow.com/questions/1777556/alternatives-to-gprof)。 – Rubens
你有源代码吗?如果你这样做,拿着'main'的主体并且把它包装成一个循环来执行它1000次。然后把时间除以1000. –