OSError: [Errno 28] No space left on device的原因总结

发布时间 2023-10-13 15:44:27作者: Dotman

简单总结下碰到这个问题可能的原因:

  1. 最常见的,就是磁盘空间真的满了,这个时候你只能rm一些不需要的文件来解决问题

  2. 还有可能是inode不足了,这个跟磁盘当初是怎么格式化的有关,如果有太多细碎文件确实有可能出现明明还有空间但是inode却用完了的情况。可以通过df -ih来查看inode使用情况。解决这个问题的方法也是只有删除一些不需要的文件来释放inode数量,但是大多数情况下这种情况都很少发生,因为格式化时会根据总磁盘大小来决定inode的存储大小的,基本上不会不够用

  3. 在Python中疯狂调用print()同样有可能遇到这个错误。您可以看下自己的代码是否用了太多线程,每个循环里是否出来了多次调用print的情况。如果有的话,请注释掉一些没有必要的print