write error: No space left on device
参考网址:https://www.jb51.net/article/124040.htm
- 执行写入操作的时候报错“No space left on device”
- 原因是磁盘空间被占满,导致无法创建新的文件。
- 可以通过删除暂时没有的文件,来释放空间可以修复这个报错。
查看磁盘空间的使用情况
[root@console ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 68G 68G 0 100% /
tmpfs 5.9G 0 5.9G 0% /dev/shm
/dev/sda3 196G 146G 40G 79% /export
tmpfs 2.9G 0 2.9G 0% /var/lib/ganglia/rrds
看到根分区已全部占满
各个目录的占用情况查看
# du -sh /*
还有一种可能是小文件过多,导致 inode 急剧增加,消耗完 inode 区域的空间
即使磁盘空间有剩余,但由于无法创建新的 inode 来存储文件的元信息,也就无法创建新文件
查看inode情况
#df -ih
- 另一种可能的情况,就是有些文件删除时还被其它进程占用,此时文件并未真正删除,只是标记为 deleted,只有进程结束后才会将文件真正从磁盘中清除
- 通过lsop命令查看别进程占用的文件
# lsof | grep deleted
- 找到文件并删除