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
によると、私は10 GiB
のうち128 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
ラボマシンで同じ問題に遭遇し、このコマンドを使用していました
du -sch .[!.]* * |sort -h
ユーザーがまだ削除していないゴミ箱の中にあるような隠しファイルを見つけることができました。
here が最初にこの答えを見つけた場所のおかげです。
プロセスによってまだ開かれたままになっている削除済みファイルを確認します。Sudo lsof | grep deleted | less
Pidとファイル記述子が表示されます。サーバーでこの問題が発生しました。ncdu
には何もありませんが、ディスクがいっぱいです。マウントされたsamba共有にファイルを移動する夜間のプロセスであることが判明し、ファイルハンドルが正しく閉じられないことがあったようです。
削除されたファイルを見つけて、それらをクリーンアップしたい場合は、それが受け入れられる場合、おそらく再起動が最も簡単です。または、プロセスを強制終了してみてください。または、それらが使用されていないことが確実な場合は、次のように手動でゼロにすることができます:> /proc/14487/fd/12
次のコマンドは、-max-depth = 1で/ homeディレクトリのディスク使用率を表示します
user@linux:~$ Sudo du -h -d 1 /
必ずディスクマウントを確認してください。ここで私が見た解決策はどれも、その上にマウントが置かれているフォルダーによって占有されているスペースを識別することができません。
これと同じ問題が発生し、var/lib/dockerに保存されたdockerイメージであることが判明しました
ncduはユーザーには表示されないため、これらをリストしません。 Sudoでncduを実行しても解決しません。
このコマンドは、既存のすべてのdockerイメージを削除します...
docker rmi $(docker images -a -q)
次のコマンドを実行して、上位10個の最大ファイルを見つけることができます。
find / -type f -printf '%s %p\n' 2>&1
| grep -v 'Permission denied'
| sort -nr
| head -10