麒麟系统出现“no space left on device”但磁盘空间充足时,极大概率是inode耗尽;执行df -i确认iuse%达100%后,用du -s --inodes /定位高占用目录,如/usr/lib/fontconfig/cache,清空其内容并重建缓存即可恢复。

麒麟系统出现“磁盘空间充足但无法创建新文件、日志写不进、服务报错No space left on device”时,极大概率是Inode节点被耗尽而非真实空间满,这种故障在长期运行的服务器上尤为常见,尤其当系统频繁生成小文件(如字体缓存、日志轮转碎片、临时会话)时,/usr/lib/fontconfig/cache等目录极易成为Inode黑洞。
确认是否为Inode耗尽
打开终端,直接执行:
df -i
重点观察根分区(通常是 /)或告警分区的 IUse% 列——【若该值达到100%,而对应分区的df -h中Use%远低于90%,即可100%确认是Inode耗尽】。此时不要删任何文件,先锁定问题分区路径,比如输出中显示 /dev/sda2 on /,就说明根文件系统inode已满。
补充验证:运行 ls -i / | head -5,能正常列出inode编号说明文件系统仍可读;若报错“Too many open files”或“Cannot allocate memory”,则可能已波及内核资源,需立即干预。
定位Inode占用最高的目录
方法一:用find快速统计子目录inode数量
执行:find / -xdev -type d | xargs -I {} sh -c 'echo "$(find {} -maxdepth 1 -type f | wc -l) {}"' 2>/dev/null | sort -nr | head -10
这条命令会逐层统计每个目录下一级普通文件数量(即直接消耗inode的主体),排序后取前10。注意:-xdev防止跨分区扫描,避免误入/dev、/proc等虚拟文件系统;2>/dev/null屏蔽权限拒绝报错。输出第一行通常就是罪魁祸首,例如/usr/lib/fontconfig/cache常显示数万甚至数十万计。
方法二:用du -s --inodes精准定位(推荐)
执行:du -s --inodes / 2>/dev/null | sort -nr | head -20
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
该命令直接按inode使用量递归统计,比单纯数文件更准确(包含子目录本身、符号链接等所有inode实体)。如果看到某路径如 /usr/lib/fontconfig 占用超80% inode,无需再深入,直接进入该路径清理。
安全清理高Inode目录
第一步:进入目标目录,例如 cd /usr/lib/fontconfig/cache
第二步:确认文件类型与归属
执行:ls -lF | head -3 → 查看是否全为二进制缓存文件(无扩展名、大小均在几十KB)、属root用户、修改时间陈旧。这类文件可安全清除,【切勿删除cache目录本身,只清空其内容】。
第三步:执行清理
sudo rm -f ./*
第四步:强制重建缓存(可选,避免后续图形服务异常)
sudo fc-cache -fv
这一步会重新扫描字体并生成精简缓存,新缓存文件数量可控,且不会堆积历史冗余条目。清理后再次运行 df -i,IUse% 应立刻回落至60%以下。










