这里我做了一个函数来计算任何文件的CRC16。我在C中完成了这个功能和程序。
现在我想了解我的CRC16计算功能的CPU使用率和内存使用情况。
我知道top
命令。在这里,我没有更多的时间在其他标签上看到这个东西,并且用户不友好使用它。
我发现了一个链接,但我无法对此有所了解。
有没有做这些事情并给我结果的功能?
请任何人帮我找出这件事。
答案 0 :(得分:1)
输入man 2 getrusage
了解详情。
我希望ru_idrss
是内存使用所需的。它应该在更新版本的Linux内核中填写。或者您可以使用procps并从/ proc目录获取信息。计算前后ru_utime
的差异将为您提供CPU时间
答案 1 :(得分:1)
除了上面的答案,您还可以使用linuxtools中的pmap
,mmap
,oprpfile
以及我个人最喜欢的perf
。希望它有所帮助。
答案 2 :(得分:0)
如果你对x86或x64上的表演和工作很挑剔,你可以试试valgrind及其 callgrind 工具,以及更精确(但更难掌握) cachegrind 替代方案。
通过发行版的软件包管理器安装后,只需要:
valgrind --tool=cachegrind ./a.out
valgrind --tool=callgrind ./a.out
请注意,您可以使用可视化工具kcachegrind轻松查看效果数据。我链接到维基百科关于valgrind的文章,因为它是succint并且非常完整。 The official Valgrind website is here
我通常使用此工具将热循环性能提高几个数量级!