我的目录由于某种原因已满 64%,但没有打开任何文件或相关进程,导致该空间被使用
[root@exlap932 data02]# du -sh
8.0K .
[root@exlap932 data02]# ls -ltra
total 16
drwxrwxrwx 2 root root 4096 Oct 27 2014 .snapshot
drwxrwxrwx 3 root root 4096 Jul 15 07:12 .
drwxr-xr-x 27 root root 4096 Jul 15 07:53 ..
[root@exlap932 .snapshot]# du -sh
4.0K .
[root@exlap932 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
2.0G 720M 1.2G 39% /
/dev/mapper/vg_root-lv_tmp
2.0G 74M 1.8G 4% /tmp
S259951CH3NAS05:/S259951CH3VOL15
4.0T 2.5T 1.5T 64% /data02
[root@exlap932 data02]# /usr/sbin/lsof | grep deleted
vmtoolsd 2133 root 7u REG 253,1 9858 229379 /tmp/vmware-root/appLoader-2133.log (deleted)
python 9615 root 3w REG 253,3 1198 229393 /var/opt/opsware/agent/batch.381921880010.stdout (deleted)
python 9615 root 4w REG 253,3 0 229397 /var/opt/opsware/agent/batch.381921880010.stderr (deleted)
python 9616 root 3w REG 253,3 1198 229393 /var/opt/opsware/agent/batch.381921880010.stdout (deleted)
[root@exlap932 data02]# /usr/sbin/lsof | grep /data02
bash 23676 mhussaini cwd DIR 0,21 4096 64 /data02 (S259951CH3NAS05:/S259951CH3VOL15)
sudo 24675 root cwd DIR 0,21 4096 64 /data02 (S259951CH3NAS05:/S259951CH3VOL15)
su 24691 root cwd DIR 0,21 4096 64 /data02 (S259951CH3NAS05:/S259951CH3VOL15)
bash 24692 root cwd DIR 0,21 4096 64 /data02 (S259951CH3NAS05:/S259951CH3VOL15)
lsof 26968 root cwd DIR 0,21 4096 64 /data02 (S259951CH3NAS05:/S259951CH3VOL15)
grep 26969 root cwd DIR 0,21 4096 64 /data02 (S259951CH3NAS05:/S259951CH3VOL15)
lsof 26970 root cwd DIR 0,21 4096 64 /data02 (S259951CH3NAS05:/S259951CH3VOL15)
答案1
lsof
只能检测当前文件系统上运行的进程删除的文件。安装的文件系统/data2
属于远程文件系统,因此lsof
不知道其他客户端或文件服务器本身上运行的进程的潜在访问。
此外,还有一个目录建议使用.snapshot
类似的文件系统。ZFS
在这种情况下,已使用的空间可能只是属于共享同一底层池的另一个文件系统。
答案2
好吧,我认为您滥用了 lsof 命令。
对于 df 的结果,它显示的报告为文件系统磁盘空间使用情况。对于 lsof 的结果,它显示哪些进程打开文件或目录。
减少文件系统使用率(已满 64%)的方法是挂载文件系统并删除无用文件。
例如:
mount S259951CH3NAS05:/S259951CH3VOL15 /mnt rm /mnt/unuseful umount /mnt