Plainnotes

磁盘没满,却写不进去:inode 用完了

2026-11-05 · 3 分钟排错

df -h 显示还有一半空间,touch /tmp/x 却报 No space left on device。第一反应是分区只读或者配额,都不是。 看 df -i:

Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/vda1      2621440 2621440      0  100% /

inode 用光了。空间还在,但没有空索引节点可以分配给新文件。

常见来源是小文件堆积:session 文件、缩略图缓存、某个程序按请求写一个临时文件却从不清理。用 find / -xdev -type f | cut -d/ -f2-3 | sort | uniq -c | sort -rn | head 找出哪个目录文件最多,比 du 快得多。

处理完记得回头看代码:inode 满通常是清理策略的问题,不是磁盘的问题。扩盘只能推迟下一次爆。