不知何故,我的工作正在进行中的Python服务器通过将50GB数据logging到/tmp/blabla.log来填充rootfs分区,我注意到基本命令如下失败:root @ server:/#crontab -e / tmp / crontab。 FfvjqH:设备上没有剩余空间
所以,我做了rm -rf /tmp/blabla.log文件消失,不能用ls或tail查看…但是空间不足的错误依然存在。 df -h仍然报告rootfs被100%使用,并不反映我删除了50GB的文件。
我可以通过移动一些文件到另一个parition释放一些更多的空间,系统是好的,但我没有我的50GB的可用空间回来。
可能是什么问题呢?
我自己的答案:从rootfs分区移动一些3GB的文件后,我敢重新启动服务器,在由于磁盘空间问题重新启动服务器nog的风险,但幸运的是它重新启动成功,重新启动后,df -h报告正确的可用空间量。 所以系统重启似乎是答案。
您已删除该文件,但文件描述符仍处于打开状态,正在运行的脚本中使用。 停止脚本,你应该得到的空间。 用> /tmp/blabla.log
或cp /dev/null /tmp/blabla.log
截断文件是个好主意
如果文件仍然被进程/服务持有,你可能想用lsof来检查。 例如,如果你在服务运行的时候删除了catalina.out,那么将会删除这个文件,但是它仍然会被tomcat服务locking,直到你重新启动。 你可以用lsof | grep <filename>
find这个 lsof | grep <filename>
,它会说(删除)后面的命中,如果你有一个。