【发布时间】:2013-03-03 20:33:27
【问题描述】:
在经典 APUE(UNIX 环境中的高级编程)的第 3.9 节中,作者测量了在他的示例程序中消耗的用户/系统时间,该示例程序针对不同的缓冲区大小(一个 I/O 读/写程序)运行。
结果表有点像(所有时间都以秒为单位):
BUFF_SIZE USER_CPU SYSTEM_CPU CLOCK_TIME LOOPS
1 124.89 161.65 288.64 103316352
...
512 0.27 0.41 7.03 201789
...
我很好奇并且真的想知道如何测量一段程序的 USER/SYSTEM CPU 时间?
在这个例子中,CLOCK TIME 是什么意思以及如何测量它?
显然它不仅仅是用户 CPU 时间和系统 CPU 时间的总和。
【问题讨论】:
-
所以要明确一点,您需要 C 代码,它会为您获取这些值?
-
你真正的意思是什么?计算程序的周期时间,还是使用命令行工具获取程序的整个 CPU 时间消耗信息?您可以使用“时间”命令行获取 cpu 信息。顺便说一下,您应该向我们展示作者用来获取此日志的命令行工具名称。
-
作者没有提到他是如何测量的。这就是为什么它激起了我的好奇心。正如您提到并由 Tuxdude 回答的那样,这项工作可以通过使用命令行工具“时间”来完成。谢谢。