创建文件时有没有遇见过这个报错“no space left on device”?
见到这个报错提示会以为磁盘空间满了,但造成”磁盘满“的原因却有多种可能。
1.文件超大了
通过df -lh命令 查看剩余空间,如果可用空间不足以写文件了,当然是"no space left on device"。
df -lh 命令查看空间情况
2.大量打开的文件被”删除“导致的
每个文件都分配有一个inode节点,当文件正常删除时,inode节点会回收。当文件处于打开状态时被删除,这时inode节点不会回收,每个文件占用的空间也不被回收(会统计到df -lh命令的已用空间)。表现为”删除掉的文件“占用了大量空间,已用空间超过正常预期,直至让你创建文件失败。
通过lsof|grep deleted命令 查看是否有这种情况发生
3.小文件过多引起inode用尽
每个挂载点的inode数量在创建文件分区时已固定,又每个文件会对应到一个inode节点上。
因此,若小文件太多,inode节点被用尽,就会出现无法再创建新文件,磁盘空间无法充分利用的情况。
df -li 命令查看inode信息
两个相关命令:
du -sh 命令 查看当前目录大小,简明输出
du -lh --max-depth=1命令 查看当前目录的一级子目录大小,详细输出
本文暂时没有评论,来添加一个吧(●'◡'●)