ディスクはいっぱいですが、大きなファイルやフォルダを見つけることができません


20

Ubuntuサーバーでは、ほとんどすべてのディスクを使用していることがわかります。

Usage of /:   95.5% of 118.12GB

そして、私は大きなフォルダーとファイルを見つけようとし、ncduを実行します:

ncdu 1.8 ~ Use the arrow keys to navigate, press ? for help                                                                                                                                                 
--- / ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    5.5GiB [##########] /root                                                                                                                                                                               
    2.3GiB [####      ] /var
  628.6MiB [#         ] /usr
  209.9MiB [          ] /lib
   28.2MiB [          ] /boot
    8.6MiB [          ] /bin
    7.7MiB [          ] /sbin
    6.6MiB [          ] /etc
  208.0KiB [          ] /run
  112.0KiB [          ] /tmp
   48.0KiB [          ] /opt
e  16.0KiB [          ] /lost+found
    8.0KiB [          ] /dev
    8.0KiB [          ] /media
    4.0KiB [          ] /lib64
e   4.0KiB [          ] /srv
e   4.0KiB [          ] /selinux
e   4.0KiB [          ] /mnt
e   4.0KiB [          ] /home
    0.0  B [          ] /proc
    0.0  B [          ] /sys
@   0.0  B [          ]  initrd.img
@   0.0  B [          ]  vmlinuz

よると、ncduおよそIの使用10 GiB128 GiB-それについてです10 %。矛盾。

ubutntu server再起動せずにきれいにする方法は?

それncduは嘘だと思い、別のアプリを使って大きなファイルやフォルダーを見つけました。それらはすべて、と同じ結果を示しますncdu

また、df -hコマンドはディスクがいっぱいであることを示しています。

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda       119G  113G     0 100% /
udev            2.0G  8.0K  2.0G   1% /dev
tmpfs           788M  212K  788M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm

更新

sudo du -sch /* 結果:

/# sudo du -sch /*
8.7M    /bin
29M /boot
8.0K    /dev
6.6M    /etc
4.0K    /home
0   /initrd.img
210M    /lib
4.0K    /lib64
16K /lost+found
8.0K    /media
4.0K    /mnt
48K /opt
du: cannot access `/proc/4470/task/4470/fd/4': No such file or directory
du: cannot access `/proc/4470/task/4470/fdinfo/4': No such file or directory
du: cannot access `/proc/4470/fd/4': No such file or directory
du: cannot access `/proc/4470/fdinfo/4': No such file or directory
0   /proc
5.0G    /root
212K    /run
7.8M    /sbin
4.0K    /selinux
4.0K    /srv
0   /sys
112K    /tmp
629M    /usr
2.3G    /var
0   /vmlinuz
8.1G    total

8.1G 通常どおり合計。しかしcannot access、行が表示されます。おそらくそれらのせいで問題があります。

次に、で最大のフォルダを確認しました/。それは/root

/# sudo du -sch /root/*
96K /root/Downloads
2.5G    /root/Dropbox
36K /root/nohup.out
4.0K    /root/npm-debug.log
4.0K    /root/readonly
980K    /root/redis-2.6.16.tar.gz
228M    /root/tmp
2.7G    total

念のため、/ var / log /の内容をチェックして、ログが爆発的に増大していないかどうかを確認します。
モルドック14年

/ var / logは約2 GiBです。大丈夫です
マキシムYefremov 14年

1
試しdu -sch /*ルートディレクトリは、ほとんどのスペースを使用しているかを確認するために、最もスペースを使用しての場所へ、そこから降ります。
DopeGhoti

@DopeGhoti私は試しましたが、ほぼ同じことを確認しました8.1 GiB(これを更新するために追加しました)。残りの部分がどこにあるかわからない100 GiB
マキシム・イェフレモフ14年

2
私はあなたがしたくないことを知っていますが、弾丸を噛んで再起動します。
douggro

回答:


13

ラボマシンで同じ問題に遭遇し、このコマンドを使用していました

du -sch .[!.]* * |sort -h

ユーザーがまだ削除していないゴミ箱の中にあるような隠しファイルを見つけることができました。

功績ここに私はもともと、この答えを見つけました。


すばらしい解決策!
AivanF。

5

プロセスによってまだ開かれたままになっている削除済みファイルを確認します。
sudo lsof | grep deleted | less

pidとファイル記述子が表示されます。サーバーでこの問題が発生しましたncduが、ディスクがいっぱいになるだけでした。マウントされたsamba共有にファイルを移動する夜間のプロセスであることが判明し、ファイルハンドルが正しく閉じられないことがあったようです。

削除されたファイルを見つけてクリーンアップする場合、それが受け入れられる場合は、おそらく再起動が最も簡単です。または、プロセスを強制終了してみてください。または、それらが使用されていないことが確実な場合は、次のように手動でゼロにすることができます:
> /proc/14487/fd/12


これが私の問題でした。Tomcatは80GBの削除済みファイルを保持していました。修正するには再起動で十分でした。
AFP_555

「reboot」コマンドでは不十分な場合、どうすれば削除できますか?
きらめき


2

必ずディスクマウントを確認してください。ここで私が見た解決策はどれも、その上にマウントが置かれているフォルダーによって占有されているスペースを識別することができません。


これは私の問題かもしれないと思う
-Eliethesaiyan


基本的に、で既存のマウントを確認しmount、マウントが置かれている各ディレクトリに2つ目のマウントを追加します。その後du、新しく作成されたマウントなどの通常のディスクツールを使用して、それが原因かどうかを確認できます。
リッチレーマー

1

これと同じ問題が発生し、var / lib / dockerに保存されたdockerイメージであることが判明しました

ncduはユーザーには表示されないため、これらをリストしません。sudoでncduを実行しても解決しません。

このコマンドは、既存のすべてのdockerイメージを削除します...

docker rmi $(docker images -a -q)


ここで同じ問題。実際、docker system pruneすべてを見つけることさえできませんでした。このコマンド(docker system pruneに先行する)がトリックを行います。
jscharf

1
最近、我々はそれを発見したdocker system prune -a -f多くの徹底である
バルディ

0

次のコマンドを実行して、上位10個の最大ファイルを見つけることができます。

find / -type f -printf '%s %p\n' 2>&1 
     | grep -v 'Permission denied' 
     | sort -nr 
     | head -10
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.