df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 30830588 22454332 6787120 77% /
none 4 0 4 0% /sys/fs/cgroup
udev 1014124 4 1014120 1% /dev
tmpfs 204996 336 204660 1% /run
none 5120 0 5120 0% /run/lock
none 1024976 0 1024976 0% /run/shm
none 102400 0 102400 0% /run/user
その77%は昨日は60%でしたが、数日で100%になります。
私は今しばらくの間ファイルサイズを監視しています:
Sudo du -sch /*
9.6M /bin
65M /boot
224K /build
4.0K /dev
6.5M /etc
111M /home
0 /initrd.img
0 /initrd.img.old
483M /lib
4.0K /lib64
16K /lost+found
8.0K /media
4.0K /mnt
4.0K /opt
du: cannot access ‘/proc/21705/task/21705/fd/4’: No such file or directory
du: cannot access ‘/proc/21705/task/21705/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/21705/fd/4’: No such file or directory
du: cannot access ‘/proc/21705/fdinfo/4’: No such file or directory
0 /proc
21M /root
336K /run
12M /sbin
8.0K /srv
4.1G /swapfile
0 /sys
4.0K /tmp
1.1G /usr
7.4G /var
0 /vmlinuz
0 /vmlinuz.old
14G total
私は毎日(ほぼ)同じ数字を私に与えています。その14Gの合計は、ディスクサイズの半分未満です。残りはどこに行くのですか?
私のLinuxの知識はそれほど深くは行きません。
ここにファイルが表示されない可能性はありますか?他の方法でスペースを割り当てることは可能ですか?
ディスクスペースが目に見えて大きくなっている場合は、ファイルが削除されている可能性があります。 Windowsでは、何かによって開かれたファイルを削除しようとすると、エラーが発生します。 Linuxでは、ファイルは削除済みとしてマークされますが、データはアプリケーションが許可されるまで保持されます。場合によっては、これを 自分の後のクリーンアップ方法 として使用できます-アプリケーションがクラッシュしても、一時ファイルのクリーンアップは妨げられません。
削除された、まだ使用されているファイルを見るには:
lsof -b 2>/dev/null | grep deleted
削除されたファイルが多数ある場合があります-それ自体は問題ではありません。削除された単一のファイルが大きくなるのは問題です。
再起動でこれを修正する必要がありますが、再起動したくない場合は、関連するアプリケーション(lsof
出力の最初の列)を確認し、適切な外観のアプリケーションを再起動または閉じます。
次のようなものが表示された場合:
zsh 1724 muru txt REG 8,17 771448 1591515 /usr/bin/zsh (deleted)
アプリケーションと削除されたファイルが同じ場合、おそらくアプリケーションがアップグレードされたことを意味します。大量のディスク使用の原因としてこれらを無視することができます(ただし、バグ修正が適用されるようにプログラムを再起動する必要があります)。
/dev/shm
内のファイルは共有メモリオブジェクトであり、ディスク上の多くのスペースを占有しません(せいぜいiノード番号)。それらは安全に無視することもできます。 vteXXXXXX
という名前のファイルは、VTEベースのターミナルエミュレーター(GNOMEターミナル、ターミネーターなど)からのログファイルです。 lotsで端末ウィンドウを開いている場合、これらのは大きくなる可能性があります(つまり、lots)出力されるもの。
Muruによる優れた答えに追加するには:
たぶん、duでは見られないのは、たくさんの小さなファイルの出現です...(df -i
の最後の列を見て、inode(つまり、ファイル)の数が残業時間を大幅に増やすかどうかを確認してくださいも)
たとえば、1'000'000(100万)の小さな1バイトファイルがある場合、du
は合計で1'000'000バイトとしてカウントします。1Mb(...純粋主義者、うんざりしないでください) )
ただし、ディスク上では、各ファイルは2つのもので構成されています。
したがって、100万ファイルの1バイトファイルは、データ用に1'000'000'000 * size_of_a_block
合計スペースに加えて、iノードのサイズの1'000'000'000 * size_of_an_inode
を占有します。 」ファイル。
1024バイトのブロックと別の256バイトのiノードサイズがある場合、1'000'000ファイルはdu
によって約1Mbとして報告されますが、ディスク上で約1.25Gbとしてカウントされます(df
で確認)。 (または、各iノードも1つの専用ディスクブロック上になければならない場合は2Gbでさえあります。それが当てはまるかどうかはわかりません)
/dev/vda1
がいっぱいになっている場合、それはJenkinsまたはDocker(またはその他)によって引き起こされている可能性があり、 を実行するにはlsof
コマンドを使用する必要があるログを消去し、サイズを設定します 。