是否有类似的命令time
,但报告了更多统计信息?如果能做类似的事情,那就太好了:
$ statistics some_command
time:
real 0m3.002s
user 0m0.000s
sys 0m0.000s
memory:
min 41K
peak 2.5M
mean 1.1M
. . .
如果可以走得更远,那就太好了。现在,为了调试,我要么专心盯着top
(实际上是glances
),要么在我的代码中撒满了语句。
如果有什么我可以传递命令的地方,那就太好了。
编辑
我可能已经找到了解决方案:perf
在该软件包中linux-tools
以及linux-tools-common
在Ubuntu 12.04上。
$ perf stat ./someprocess
Performance counter stats for './someprocess':
12007.384578 task-clock # 0.996 CPUs utilized
1,092 context-switches # 0.000 M/sec
16 CPU-migrations # 0.000 M/sec
295,102 page-faults # 0.025 M/sec
40,553,682,299 cycles # 3.377 GHz [83.33%]
18,400,458,723 stalled-cycles-frontend # 45.37% frontend cycles idle [83.35%]
8,356,832,355 stalled-cycles-backend # 20.61% backend cycles idle [66.64%]
56,930,684,595 instructions # 1.40 insns per cycle
# 0.32 stalled cycles per insn [83.34%]
9,083,443,825 branches # 756.488 M/sec [83.35%]
3,431,737 branch-misses # 0.04% of all branches [83.33%]
12.051963969 seconds time elapsed
(帮助的页面。)
“像时间,但为了记忆”并没有任何意义。什么究竟你想知道吗?内存不是度量。
—
Der Hochstapler 2012年
您是否要审核正在制作的应用程序?如果是这样,用什么语言?
—
dset0x 2012年
perf
结果中没有内存统计信息。