分区满了还是没有?

时间:2008-10-30 13:03:28

标签: sysadmin diskspace inode disk-partitioning

我的分区/ tmp已满......并且它同时为空。 分区已满。 检查目录:

# du -sh /tmp
28K /tmp

什么?它是空的...... 它真的是空的......只有两个空目录位于/ tmp

检查分区详细信息:

# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p9   1012M  961M     0 100% /tmp

已经满了! 但为什么使用+可用!=尺寸?

检查Inode:

# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/cciss/c0d0p9     131616      17  131599    1% /tmp

那么这里会发生什么?

2 个答案:

答案 0 :(得分:7)

在unix / linux中,删除文件后,它会保留在磁盘上,直到最后一个使用它的程序关闭它。所以在你的情况下,你可能有一个填充/ tmp的已删除文件,以及一个让它打开的僵尸程序。

更新: 我要回应@Vinko的建议,你可以使用lsof找到那个僵尸,使用

lsof +D /tmp

答案 1 :(得分:7)

使用lsof找出保持文件打开的进程

$ lsof /usr/bin/python
COMMAND  PID  USER  FD   TYPE DEVICE    SIZE   NODE NAME
python  5020 hplip mem    REG    8,2 1158612 623041 /usr/bin/python2.5
python  6795 vinko txt    REG    8,2 1158612 623041 /usr/bin/python2.5