要解决的问题
“No space left on device”可能与容量或 inode 有关。先看文件系统总体情况,再在已知项目目录中寻找占用来源,避免对整台服务器无范围地扫描。检查是为了确定证据,不是立即删除最大文件。
适用环境
Ubuntu 的 GNU coreutils;示例项目目录为 /var/lib/navsite。请使用你有权读取的目录。
操作步骤与示例
将以下内容放在对应终端或脚本中执行。示例路径、服务名需要与你的环境一致。
df -h /var/lib/navsite
df -i /var/lib/navsite
du -x -h --max-depth=1 /var/lib/navsite如何判断结果
df 的结果针对文件系统;du 汇总能读取的目录条目,两者不必完全一致。第一条看容量,第二条看 inode,第三条限制在同一文件系统、只展开一层,便于先定位项目目录中的大项。
常见问题与排查
权限不足、挂载点、稀疏文件和仍被进程打开的已删除文件都可能影响理解。不要为了让数字接近就删除日志、SQLite 的 WAL 文件或数据库;这些文件可能仍被服务使用。
适用边界
这里不执行清理。确认根因后再按应用的备份、轮转或数据保留机制处理,并复核服务健康。大目录查询仍可能消耗 I/O,繁忙服务器应限制范围和执行时机。