一、问题现象
调用命令的时候,出现报错: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 节点导致的。









![[leetcode-shell]192-统计词频](https://www.dyxmq.cn/wp-content/themes/begin/prune.php?src=https://www.dyxmq.cn/wp-content/uploads/2020/02/b3b4a-image6c552cb516ad2b7c.png&w=280&h=210&a=&zc=1)

评论