Disk-Usage
如何分類我的 df 和 du 輸出之間的差異?
**注意:**我完全了解本網站上的這些其他問題:
我的問題顯示如下:
$ du -sh / --exclude=/proc 4.0G /
對比
$ df -h / Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_os-lv_root 18G 16.0G 1.9G 90% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 39M 3.8G 1% /dev/shm tmpfs 3.9G 17M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/vda1 497M 215M 283M 44% /boot tmpfs 783M 0 783M 0% /run/user/937000511 tmpfs 783M 0 783M 0% /run/user/937000593
我如何對這個問題進行分類以確定導致這種差異的原因?
在這種特殊情況下,問題是一個守護程序正在執行,它的文件被輪換,
logrotate
但服務沒有被發送kill -HUP
來觸發它開始記錄到一個新文件。這導致 12G 日誌文件繼續顯示,就好像它正在消耗 HDD 上的空間,這可以通過df
但不是可見的du
,考慮到這兩個 CLI 工具的工作方式。lsof
使用
lsof
和查找日誌文件顯示了問題:$ lsof | grep -E 'COMMAND|/var/log/maxscale' COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME maxscale 5976 maxscale cwd DIR 253,1 4096 82757 /var/log/maxscale maxscale 5976 maxscale 4w REG 253,1 12506246848 82752 /var/log/maxscale/maxscale.log (deleted) maxscale 5976 5977 maxscale cwd DIR 253,1 4096 82757 /var/log/maxscale maxscale 5976 5977 maxscale 4w REG 253,1 12506246848 82752 /var/log/maxscale/maxscale.log (deleted) maxscale 5976 5978 maxscale cwd DIR 253,1 4096 82757 /var/log/maxscale maxscale 5976 5978 maxscale 4w REG 253,1 12506246848 82752 /var/log/maxscale/maxscale.log (deleted) maxscale 5976 5979 maxscale cwd DIR 253,1 4096 82757 /var/log/maxscale maxscale 5976 5979 maxscale 4w REG 253,1 12506246848 82752 /var/log/maxscale/maxscale.log (deleted) maxscale 5976 5980 maxscale cwd DIR 253,1 4096 82757 /var/log/maxscale maxscale 5976 5980 maxscale 4w REG 253,1 12506246848 82752 /var/log/maxscale/maxscale.log (deleted) MHD-singl 5976 5981 maxscale cwd DIR 253,1 4096 82757 /var/log/maxscale MHD-singl 5976 5981 maxscale 4w REG 253,1 12506246848 82752 /var/log/maxscale/maxscale.log (deleted) bash 12629 root cwd DIR 253,1 4096 82757 /var/log/maxscale
輸出甚至顯示有問題的
lsof
大小,實際上它已被刪除:maxscale 5976 maxscale 4w REG 253,1 12506246848 82752 /var/log/maxscale/maxscale.log(已刪除)
停止守護程序釋放/關閉文件描述符以釋放空間:
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_os-lv_root 18G 4.0G 14G 23% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 39M 3.8G 1% /dev/shm tmpfs 3.9G 17M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/vda1 497M 215M 283M 44% /boot tmpfs 783M 0 783M 0% /run/user/937000511 tmpfs 783M 0 783M 0% /run/user/937000593
現在
df
和du
同意。