“老王,你快来看!设备跑了一天,现在内存占用飙到1.8GB了,马上就要OOM了!”凌晨两点,我在监控大屏前接到现场工程师的电话。屏幕上的内存曲线像极了过山车——从凌晨4点开始平稳运行在200MB左右,到了下午3点突然陡增至800MB,晚上10点直接突破1.5GB,照这个趋势,再有半小时系统就要被kill掉。这是我去年在智慧零售项目中遇到的真实场景。客户要求模型在Jetson Nano上连续运行72小时,结果每次都在第36小时左右崩溃。更诡异的是,重启后一切正常,但36小时后必出问题。我花了整整3天才定位到根因——一个藏得很深的内存泄露。痛点拆解:你以为的“正常”其实是泄露很多开发者在边缘设备上部署模型时,会遇到一个典型的认知误区:把内存泄露误认为是“正常的内存增长”。比如,有人会告诉你:“PyTorch的推理过程会缓存一些中间结果,内存涨一点很正常。” —— 这话对了一半,但“涨一点”和“一直涨”是两回事。来看一个最常见的错误实现:importtorchimportcv2importtimefromtorchvisionimportmodels