在工程中统计资源占用情况

简尔言之:

  1. RAM: valgrind –tool=massif –stacks=yes –time-unit=B –alloc-fn=generic_malloc ./demo
  2. ROM: arm-none-eabi-size -t *.a
  3. 检查内存泄漏:valgrind –tool=memcheck –leak-check=full –show-reachable=yes –trace-children=yes build_linux-x86_64/main

RAM统计

统计工具Valgrind
统计内存占用可以用下valgrind的工具 ubuntu可以使用apt直接安装的 使用的方法是写一个demo 调用算法的接口 编译成可执行文件 然后通过valgrind执行它。

1
valgrind --tool=massif --stacks=yes --time-unit=B --alloc-fn=generic_malloc  ./swimming_analyzer_demo

然后在当前目录会生成一个文件 比如:massif.out.1250590 后面的数字是个id
再安装一个软件 massif-visualizer, 使用这个软件打开生成的这个文件massif.out..

image-20220316163119363

也可以辅助分析它的内存RAM消耗。

ROM统计

关于程序占用ROM的计算借助arm交叉编译器实现

可以通过以下命令查看文件占用flash和ram的大小。

1
arm-none-eabi-size -t *.a

显示结果如下:

/image-20220318103734602

上图中,TOTALS所在的dec指示的数字即是占用ROM空间的情况,单位为字节(Byte)。上图中占用为4863/1024 =4.74KB。

利用工具统计资源泄露情况

1
valgrind --tool=memcheck --leak-check=full --show-reachable=yes --trace-children=yes build_linux-x86_64/L67main
打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2019-2022 guoben
  • PV: UV:

微信