root@node11:/# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 32G 5.9G 85% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 16G 4.0K 16G 1% /dev
tmpfs 3.2G 380K 3.2G 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 16G 0 16G 0% /run/shm
none 100M 0 100M 0% /run/user
使用了32G空間,可是到了 根目錄下,執行
root@node11:/# du -sh * | sort -hr
du: cannot access ‘proc/28050/task/28050/fd/4’: No such file or directory
du: cannot access ‘proc/28050/task/28050/fdinfo/4’: No such file or directory
du: cannot access ‘proc/28050/fd/4’: No such file or directory
du: cannot access ‘proc/28050/fdinfo/4’: No such file or directory
2.6G cache
1.1G var
1.1G usr
486M home
469M lib
78M mnt
62M boot
。。。。。。
這些目錄,加起來,也沒有 32G ?
根目錄下,沒有隱藏檔案,如下
root@node11:/# ls -a
. boot etc initrd.img.old lost+found opt run sys var
.. cache home lib media proc sbin tmp vmlinuz
bin dev initrd.img lib64 mnt root srv usr vmlinuz.old
怎么找到哪些目錄/或者檔案比較大呢?
uj5u.com熱心網友回復:
有重啟過機子了?uj5u.com熱心網友回復:
嗯嗯,重啟下機器或者在用的服務看看吧,有可能是洗掉了,但沒釋放導致的uj5u.com熱心網友回復:
如果不方便重啟的話,lsof | grep del 看看洗掉內容中有沒有大檔案或大批量小檔案吧uj5u.com熱心網友回復:
lsof | grep DEL #DEL要大寫哈uj5u.com熱心網友回復:
沒有重啟過機器; lsof | grep DEL 結果有11行,
root@node11:/# lsof | grep DEL | wc -l
82
具體資訊 比如
nscd 1043 1045 nobody DEL REG 253,1 78
6575 /lib/x86_64-linux-gnu/libpcre.so.3.13.1
似乎這82行資訊的檔案,都不大;
需要把這些找到的 82行的檔案,徹底洗掉? 怎么徹底洗掉呢 ?
uj5u.com熱心網友回復:
沒有重啟過機器; lsof | grep DEL 結果有82行,uj5u.com熱心網友回復:
lsof -n | grep deleted看看有沒有資訊,如果有比較大的檔案,看看占用的行程是什么,可以的話
kill -9 PID #殺死行程,就洗掉掉了
uj5u.com熱心網友回復:
常見的df和du不一致情況就是檔案被洗掉的而行程句柄還在導致的問題當一個檔案被洗掉后,在檔案系統目錄中已經不可見了,所以du就不會再統計它了;然而如果此時還有運行的行程持有這個已經被洗掉了的檔案的句柄,那么這個檔案就不會真正在磁盤中被洗掉,磁區超級塊中的資訊也就不會更改,這樣df仍舊會統計這個被洗掉了的檔案
uj5u.com熱心網友回復:
看一下輸出cat /proc/1/cgroup
uj5u.com熱心網友回復:
root@node11:~# cat /proc/1/cgroup
2:name=systemd:/
uj5u.com熱心網友回復:
root@node11:~# lsof -n | grep deleted | wc -l
14740
看到的這14740個檔案,基本上都是小檔案;
怎么徹底洗掉呢?
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/277925.html
標籤:系統維護與使用區
上一篇:Win10使用telnet服務連接虛擬機Linux不成功
下一篇:libusb 控制傳輸 超時
