收集有关程序性能和资源利用情况的基础数据的简单方法是使用 time (1) 命令或 set time 命令(在 csh 中)。
使用 time 命令运行程序会在程序终止时打印一行计时信息。
demo% time myprog The Answer is: 543.01 6.5u 17.1s 1:16 31% 11+21k 354+210io 135pf+0w demo% |
以下是解释:
user system wallclock resources memory I/O paging
6.5u 17.1s 1:16 31% 11+21k 354+210io 135pf+0w |
system-系统代码中该任务约 17.1 秒
wallclock-完成时间 1 分 16 秒
resources-该程序占用了系统资源的 31%
memory-共享程序内存为 11 KB,专用数据内存为 21 KB
I/O-读取 354 次,写入 210 次
paging-缺页 135 次,换出 0 次
在多处理器环境中以并行方式运行程序时,计时结果的解释方法不同。由于 /bin/time 会累加不同线程上的用户时间,因此只使用挂钟时间。
由于所显示的用户时间包括花费在所有处理器上的时间,因此该值可以相当大,用于测量性能并不很好。最好是进行实时测量,即用挂钟时间。这也意味着要获得并行程序的精确计时,必须在只供您程序使用的闲适系统中运行它。