我一直试图使用time命令/usr/bin/time来测量linux系统上程序的峰值内存消耗。与我试验的可执行文件无关,我得到了关于运行时间的正确答案,但是内存使用的数字总是0。
来自时间的典型输出如下:
8.68用户0.04系统0:08.73运行99%CPU (0avgtext+0avgdata 0 max驻留)k 0inputs+16outputs (0major+20366minor)页面结果0交换
我不理解的零是:
0avgtext+0avgdata 0最大居民
我在谷歌上搜索了一下,据我所知,GNU时间实际上无法计算手册页中引用的内存使用数据。我说的对吗?我可以用什么替代命令来达到同样的效果呢?(不用操练苦力)
发布于 2009-06-15 21:39:04
据我所知,在Linux中没有实现峰值内存使用,所以时间不报告它。大多数人使用小页面结果的数量(1 == 4Kb块)来指示使用的内存量。
例如,请参见这里如何使用Linus来查找git性能。
否则,我知道衡量它的唯一方法是使用'ulimit‘,并使用二进制搜索来找到它所需的最小内存:)
发布于 2009-06-15 21:40:37
的确,时间并不能普遍支持所有的扩展特性。
除了英勇之外,还有其他的选择,比如备忘录巡逻和电围栏,它们没有相同的开销(但没有那么花哨的特点)。实际上,在这个问题上,瓦兰比你的能力要强得离谱,而你在运行时就会为此付出代价。
您还可以考虑使用系统挖掘脚本来实现类似的结果。
顶上也很有用。
https://stackoverflow.com/questions/998517
复制相似问题