/root 下の大きなサイズのファイル/ディレクトリを追跡できません

/root 下の大きなサイズのファイル/ディレクトリを追跡できません

OS: RHEL6.9

問題
/dev/mapper/vg_rayruhsso-lv_rootマウントされている ファイル システムに/使用可能なサイズがありません。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_rayruhsso-lv_root
                      148G  145G     0 100% /
tmpfs                  20G     0   20G   0% /dev/shm
/dev/sda1             477M   41M  411M   9% /boot
/dev/mapper/vg_rayruhsso-lv_home
                      270G   54G  202G  22% /home

解決したいこと
全体のスペースを消費しているものを把握する(先週52Gから148Gに拡張されたので、サイズを拡張したくありません)。問題は、追跡中に次のことがわかったことです。/根多くのスペース(128G)を消費しています。

# du -sh *
984K
9.3M    bin
39M     boot
4.0K    CdbsMutex
4.0K    cgroup
180K    dev
41M     etc
54G     home
215M    lib
28M     lib64
16K     lost+found
4.0K    media
0       misc
4.0K    mnt
0       net
70M     opt
du: cannot access `proc/4754/task/4754/fd/4': No such file or directory
du: cannot access `proc/4754/task/4754/fdinfo/4': No such file or directory
du: cannot access `proc/4754/fd/4': No such file or directory
du: cannot access `proc/4754/fdinfo/4': No such file or directory
0       proc
128G    root
17M     sbin
0       selinux
4.0K    srv
0       sys
5.5M    tmp
12G     u01
3.2G    usr
2.0G    var

サブディレクトリを確認したところ、du -sh128G と表示されているにもかかわらず、最大のファイル/ディレクトリは 330M であることがわかりました。

#du -sh /root/*
4.0K    /root/anaconda-ks.cfg
4.0K    /root/Desktop
4.0K    /root/Documents
4.0K    /root/Downloads
64K     /root/install.log
12K     /root/install.log.syslog
4.0K    /root/Music
4.0K    /root/Pictures
4.0K    /root/Public
4.0K    /root/Templates
330M    /root/veritas
4.0K    /root/Videos

# cd /root/
# du -sh
128G    

何が問題なのですか? どのファイルがこのすべてのスペースを消費しているのかを調べるにはどうすればいいですか?

開いているファイルを見つけようとしましたが、出力は返されませんでした。

lsof | grep deleted

何か案が?

編集:

# du -h --max-depth=1 /root | sort -h
4.0K    /root/Desktop
4.0K    /root/Documents
4.0K    /root/Downloads
4.0K    /root/.gvfs
4.0K    /root/Music
4.0K    /root/.nautilus
4.0K    /root/Pictures
4.0K    /root/Public
4.0K    /root/Templates
4.0K    /root/Videos
8.0K    /root/.abrt
8.0K    /root/.ssh
12K     /root/.dbus
16K     /root/.gnote
16K     /root/.gnupg
16K     /root/.thumbnails
20K     /root/.cache
28K     /root/.gnome2
64K     /root/.config
144K    /root/.pulse
276K    /root/.gconf
364K    /root/.local
396K    /root/.kde
330M    /root/veritas
128G    /root

答え1

しばらくやり取りした後、個人的に話し合いました...

du -h --max-depth=1 /root | sort -hスペースを消費しているものを検索するために使用します。

現時点では、 の glob 拡張により、ドット ファイルとドッ​​ト ディレクトリがスキップされますdu -sh /root/*

編集からのドット ファイルとドッ​​ト フォルダーを含む結果から、スペースを消費しているファイルは に直接含まれていることがわかります/root
で最も多くのスペースを消費しているファイルの概要を取得するには、/root次のコマンドを使用します。

ls -alhSr /root

答え2

削除コマンドを発行したが、削除しようとしたファイルが何らかのアプリケーションで使用されていたために終了しなかった可能性はありますか?

実行してみてください:

/usr/bin/lsof | grep deleted

上記のコマンドは、削除を待機しており、プロセスによって使用されているすべてのファイルを表示します。

そのようなファイルが存在する場合は、そのプロセスを終了し、容量を再度確認してください。

説明:

Linux または Unix システムでは、rm またはファイル マネージャ アプリケーションを使用してファイルを削除すると、ファイル システムのディレクトリ構造からファイルのリンクが解除されます。ただし、ファイルがまだ開いている場合 (実行中のプロセスによって使用中の場合)、そのプロセスは引き続きファイルにアクセスでき、ディスク上のスペースを占有し続けます。したがって、ファイル システム上のファイルのスペースをクリアするには、そのようなプロセスを再起動する必要がある場合があります。

この件に関する詳しい情報はここ

答え3

もご覧くださいncdu。treesize によく似ており、大きなファイルやディレクトリ構造を見つけるのに何度も役立ちました。

関連情報