Raspberry Pi 3相机长时录制数小时后停止工作原因排查
共性诱因判断
这类随机出现在不同设备、无明确报错的长时录制停拍,最高概率的共性诱因是供电不足,内存硬件故障的概率极低。
你当前采用的单手机适配器双口带2台Pi3的供电方案存在明显设计缺陷:普通消费级手机电源适配器双口同时输出时总功率会大幅折减,单口实际输出能力大多不足5V/1A,而Pi3搭载相机模块持续做视频编码、存储写入、维持SSH连接时,瞬时峰值电流可达1.2A以上,长时间高负载下很容易出现电压跌落。Pi的CSI相机模块对电压波动敏感度极高,欠压时会直接断开链路,多数录制程序不会捕获到这类底层断连错误,只会卡在等待帧输入的静默状态,完全匹配你遇到的“随机设备停拍、无明确报错”的故障特征。
内存硬件故障引发的异常通常伴随内核panic、进程随机崩溃、系统自动重启,不会仅表现为相机静默停拍无其他异常日志,基本可以优先排除。
排查操作指引
按优先级从高到低排查即可:
- 供电问题验证(第一优先级)
- 更换供电方案:给每台Pi3单独配备额定输出5V/2.5A以上的独立电源,禁止一个适配器带多台Pi,更换线长1米以内的粗铜芯USB供电线减少线损,连续跑24小时录制任务验证故障是否复现。
- 加跑电压监测脚本:在每台Pi上配置定时任务,每分钟执行一次
vcgencmd get_throttled并把结果写入日志,只要返回值非0就说明存在欠压、降频问题,返回0x50000即为明确的欠压触发节流标志。
- 软件与链路问题排查(第二优先级)
- 补抓内核层日志:不要只看前台录制进程的帧输出日志,出现停拍后第一时间执行
dmesg查看内核缓存,重点排查是否有mmal、bcm2835-camera、csi相关的链路超时、断连报错,这类底层错误默认不会输出到用户态进程日志中。 - 排查内存泄漏与OOM:如果你的录制程序没有及时释放帧缓存,长时间运行会占满系统内存触发OOM机制杀死相关进程,这类问题可以在
dmesg中找到明确的Out of memory杀进程记录,对应修复程序的缓存释放逻辑,或者临时开启1G以上的swap分区兜底。 - 排查存储IO异常:如果视频写入目标是SD卡,长时间连续写入触发SD卡坏块、掉速、文件系统错误时,录制进程会卡在IO等待状态停止拉取相机帧,这类问题在
dmesg中会有mmc0相关的IO报错,可更换高耐久工业级SD卡,或外接USB固态硬盘作为写入存储解决。
- 补抓内核层日志:不要只看前台录制进程的帧输出日志,出现停拍后第一时间执行
- 硬件稳定性排查(第三优先级)
- 若更换供电后故障仍存在,逐台交叉替换相机模块、SD卡做对照测试,排查个别设备CSI接口接触不良、相机模块长时间高负载过热断连的问题,给Pi主板和相机模块加装小型散热片,避免过热触发硬件保护。
内容的提问来源于stack exchange,提问作者yakireli
相关产品推荐
相关产品推荐

