分区满了还是没有?

War*_*ith 5 sysadmin inode diskspace 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

那么这里发生了什么?

Pau*_*lin 7

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

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

lsof +D /tmp
Run Code Online (Sandbox Code Playgroud)


Vin*_*vic 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
Run Code Online (Sandbox Code Playgroud)