You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SD卡显示剩余17GB仍报空间不足,树莓派无法启动求排查建议

排查树莓派内存不足无法启动问题的建议
  • 检查**内存交换空间(swap)**配置和状态

    • 挂载SD卡后,查看/etc/dphys-swapfile文件中的CONF_SWAPSIZE与CONF_MAXSWAP参数。树莓派默认swap空间通常较小(如100MB),若测试软件持续写操作引发频繁内存页交换,可能耗尽swap并触发OOM(内存不足)机制,甚至影响系统启动。
    • 查看swap相关日志:检查/var/log/syslog或/var/log/messages,搜索oom-killer或Out of memory关键词,确认是否是系统因内存不足终止进程,进而导致启动失败。
  • 分析系统日志定位启动故障

    • 挂载SD卡后,重点查看/var/log/syslog、/var/log/kern.log:
      • 查找启动失败相关条目,比如Failed to start、kernel panic等,定位启动环节的具体问题。
      • 回溯测试软件运行期间的日志,排查是否存在内存泄漏迹象(如进程占用内存持续增长)。
  • 检查根文件系统inode使用情况

    • 磁盘空间剩余不代表inode充足:如果测试软件每秒生成10个小文件且未做清理,可能耗尽inode资源,导致无法写入文件,触发类似内存不足的错误。执行命令:df -i /path/to/mounted/sd,查看IUse%是否接近100%。
  • 验证测试软件的内存使用行为

    • 在另一台树莓派上搭建相同测试环境,运行软件时用top或htop实时监控内存占用,确认是否存在内存泄漏(如进程的RES/RSS内存持续上升不释放)。
    • 可使用valgrind --leak-check=full ./your_software工具检测具体的内存泄漏点。
  • 排查开机自启服务

    • 挂载SD卡后,查看/etc/systemd/system/或/etc/init.d/目录,确认测试软件是否被设置为开机自启。若软件启动时就占用大量内存,可能导致系统启动阶段内存不足卡死。
    • 可临时重命名软件的启动配置文件,将SD卡插回原树莓派,测试能否正常启动。
  • 检查内核与内存限制参数

    • 查看/boot/cmdline.txt中的内核参数,确认是否存在mem=xxx这类人为限制物理内存的配置。
    • 检查/etc/security/limits.conf,确认是否对进程内存设置了硬限制或软限制(如hard memlock、soft as参数)。

内容的提问来源于stack exchange,提问作者Andrew Simpson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 04:43:29