一、问题现象

调用命令的时候,出现报错:

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节点导致的。

最后修改:2020 年 03 月 27 日
如果觉得我的文章对你有用,请随意赞赏