一、问题现象
调用命令的时候,出现报错:cannot create temp file for here-document: No space left on device
从错误的日志来看,应该是磁盘空间不足了。但是执行 df -h
看磁盘都是有剩余的:
上次遇到过一个类似的现象是,文件删除,但是容量没有归还。怀疑可能是同样的问题,但是执行 lsof | grep delete
看并没有被删除但没有归还空间的文件。
经过询问大佬后,说可能是 inode 节点满了导致的,于是执行 df -i
看了一下还真是:
可以看到,磁盘总共 26w 个 inode 节点全部使用完了。再通过 find 查找所有文件,确实是看到了 26w 个文件:
二、结论
经过下一步分析,发现是设备在进行 profile 抽样,大量的抽样文件打到了/var 目录下,导致磁盘占满。
因此判断,问题原因是磁盘文件数量太多,占满了 inode 节点导致的。
评论