📘 五组件·边缘内存优化
🧩
30 章 · 从入门到实战
01
边缘设备内存现状与挑战
瓶颈
树莓派 / Jetson Nano 内存规格对比
02
五组件概览
内存吞噬
推理引擎·预处理·缓存·日志·监控
03
内存分析工具入门
/proc/meminfo · free -m · smem
04
Python内存剖析
tracemalloc · memory_profiler 定位泄漏
05
C/C++内存剖析
Valgrind · AddressSanitizer 基本用法
06
模型推理引擎优化 (上)
TFLite 量化 FP32 → INT8
07
模型推理引擎优化 (下)
ONNX Runtime 内存池复用 & session
08
图像预处理管线优化
避免 imdecode 暴涨 · 内存映射文件
09
数据缓存队列优化
环形缓冲区替代 list · 减少碎片
10
日志记录器优化
异步写入 · 日志级别动态降级
11
状态监控器优化
降低采样 · 共享内存传递数据
12
内存池技术
固定大小内存池 · 避免频繁 malloc/free
13
零拷贝技术
组件间传递数据 · 避免不必要复制
14
共享内存实战
POSIX shm_open 进程间共享大块数据
15
内存映射文件 mmap
大模型文件映射 · 按需加载
16
垃圾回收调优
Python gc 模块 · 阈值调整 · 禁用自动回收
17
C++ 智能指针 & RAII
unique_ptr / shared_ptr 防止泄漏
18
内存对齐与缓存行
结构体重排 · 避免伪共享
19
栈内存 vs 堆内存
嵌入式 C++ 优先栈分配 · 减少堆压力
20
编译优化
-Os 优化尺寸 · --gc-sections 去掉未用段
21
动态链接库瘦身
strip · upx 压缩 so 文件
22
内存压缩技术
zram / zswap 扩展可用内存
23
Swap 合理配置
SD卡启用swap · 注意事项与性能
24
OOM Killer 预防
cgroup 内存限制 · 防止拖垮系统
25
实时内存监控脚本
Python + psutil 轻量看门狗
26
案例实战一:树莓派4B
YOLOv5s 内存 1.2GB → 512MB
27
案例实战二:Jetson Nano
多路视频流管线 · 避免内存溢出
28
案例实战三:ESP32
微型ML推理 · 内存仅520KB
29
性能与内存的权衡
何时牺牲速度换内存?何时不行?
30
总结与最佳实践
检查清单 · CXL内存扩展趋势