无法找到导致我的服务器上出现空间问题的文件。运行“df -h”命令会导致:
/dev/xvda1 ext3 4.0G 693M 3.3G 18% /
/dev/mapper/vg00-usr ext4 8.9G 8.9G 0 100% /usr
/dev/mapper/vg00-var ext4 73G 45G 25G 65% /var
但是,当我 cd 到 /user 并运行“du -sh”时,它只显示使用了 1.3G。这些文件是否可能存储在其他地方,或者可能没有显示出来?这是在装有 Plesk 的 Centos 服务器上
答案1
您可以运行lsof|grep delete
(以 root 或 sudo 身份),它将显示所有已删除的文件。您可能有由进程打开然后删除的文件,但该进程仍在运行并持有该文件的句柄。
例如,如果您正在清理空间并删除正在使用的日志文件,但程序仍在运行并写入该文件,则可能会发生这种情况。
如果是这种情况,您必须停止正在运行的具有打开句柄的程序(lsof 也会告诉您这一点),然后它会释放空间。
只有在文件的所有句柄都消失后才会释放空间。这是一些程序对临时文件使用的技巧;它们打开一个文件然后删除它,因此一般来说人们无法读取临时文件,如果程序退出或因某种原因死亡,则文件会自动删除。