最近我的 /tmp/ 分区被填满了,但它不应该接近满。经过进一步调查,我发现分区列出的可用空间比应有的要少得多。我猜重新安装可以解决这个问题,但我非常好奇为什么会发生这种情况以及这些空间去了哪里。
du 输出:
root@odoroki:/tmp# du --summarize -h
3.3M .
df 输出:
root@odoroki:/tmp# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.9G 3.3G 653M 84% /tmp
更新:删除一些文件后,这种情况再次发生。
du 输出:
root@odoroki:/tmp# du -h --summarize
11M .
df 输出:
root@odoroki:/tmp# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.9G 3.9G 0 100% /tmp
我感觉自从最近的 apt-get 升级以来这种情况就开始了,但它仍然看起来像是奇怪的行为。
我确实快速扫描了 lsof 输出,没有看到任何打开/卡住的文件句柄。不幸的是,由于问题的严重性,我不得不重新启动服务器,之后使用情况似乎正确匹配。
答案1
从ServerFault 上的类似问题(特别是有一个回应), 造成这种差异的一个可能解释是,有些进程保留着它们在 /tmp 上访问过的文件,但这些文件后来被删除了。
# lsof | grep deleted
将列出此类文件以及仍附加于它们的进程。