0%

如何检查嵌入式系统内存占用

使用 sizenm 分析系统内存开销

I

应用总内存 = text + data + bss + heap

size

$ size src/out.elf
   text       data        bss        dec        hex    filename
6148556       3428    3137272    9289256     8dbe28    src/out.elf
  • text 代码段
  • data 数据段
  • bss 未初始化全局变量
  • heap 堆内存

前三部分为静态内存分配

nm

使用 nm 分析符号表,找出占用大内存的符号

$ nm --print-size --size-sort src/out.elf
  • b 为局部bss变量
  • B 为全局bss变量