df -h では / が 100% と表示されますが、du -sh * では使用率がどこにあるのかが表示されません

df -h では / が 100% と表示されますが、du -sh * では使用率がどこにあるのかが表示されません

OS: Oracle Linux 7.5

df -h では / が 100% いっぱいであると表示され続けますが、du -sh * で / を検索しても、その使用率がどこにあるかは表示されません。ご助言やご提案をいただければ幸いです。また、スペースの問題で lsof をインストールできません。

[root@ /]# df -h
Filesystem                                    Size  Used Avail Use% Mounted on
devtmpfs                                       32G     0   32G   0% /dev
tmpfs                                          32G   14M   32G   1% /dev/shm
tmpfs                                          32G  1.3G   31G   4% /run
tmpfs                                          32G     0   32G   0% /sys/fs/cgroup
/dev/sda3                                      50G   48G     0 100% /
/dev/sda1                                     976M  208M  702M  23% /boot
/dev/sda2                                     469G   75M  445G   1% /home
//hidden                                       11T  8.5T  2.4T  79% /mnt/buffalo
/dev/sdb                                      2.7T  632G  2.0T  25% /rsv


[root@santo /]# du -sh *
0       bin
206M    boot
14M     dev
38M     etc
2.1M    home
0       lib
0       lib64
16K     lost+found
4.0K    media
4.0K    mnt
28K     opt
0       proc
11M     root
632G    rsv
1.3G    run
0       sbin
4.0K    srv
0       sys
32K     tmp
2.3G    usr
755M    var

答え1

で始まるディレクトリである可能性があります.

du --max-depth 1 --one-file-system /最上位のディレクトリを表示し、マウントポイントを越えない which を試してください。

例えば

# du --max-depth 1 --one-file-system --human-readable / | sort -h
4.0K    /media
4.0K    /srv
16K     /lost+found
20K     /mnt
488K    /tmp
14M     /SFTP
29M     /etc
72M     /boot
245M    /root
1.7G    /opt
3.7G    /var
5.7G    /usr
22G     /home
34G     /

答え2

lsof次のようなコマンドを使用すると、一部の機能を実現できます。

find /proc/*/map_files -ls | grep '(deleted)'

この出力で報告されるシンボリックリンクの名前には 16 進数の範囲が含まれており、場合によってはファイル サイズに対応している可能性があります。/このコンテキストでは、完全なファイルシステム ( ) 内のシンボリックリンク ターゲットのみが関連する可能性があります。 内のリンクされていない開いているファイルを確認すると特に役立つ場合があります/var/log

このようにして、リンクされていない疑わしい開いているファイルを見つけた場合、その名前には、それを開いたプロセスのプロセス ID が含まれているはずであり、そのプロセスを強制終了 (または再起動) すると、そのファイルによって占有されていたスペースが解放されるはずです。

リンクされていないオープン ファイル ( がインストールされている場合は報告できます) 以外に、隠し領域を探す場所はlsofマウント ポイントです。空でないマウント ポイントに別のボリュームがマウントされている場合、そのマウント ポイントの下のディスク使用量は によって報告されませんdu

ボリュームをアンマウントするのが面倒な場合は、/NFS 経由でエクスポートしてマウントし、duNFS マウントで実行することで、マウント ポイントの下にあるものを調べることができる可能性があります。NFS サーバーがエクスポートするデータに他のボリュームのデータを含めない限り、この方法は機能するはずです。追加のパッケージをインストールする必要がある場合、この方法は役に立たない可能性があります。

関連情報