
これはしばらくの間私を困惑させてきました。私はUbuntu 11.04を使用しています。ルートパーティションがいっぱいになってきていますが、原因がわかりません。さらに奇妙なことに、 を実行するとdf -h
、次のような出力が表示されます。
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.2G 8.8G 0 100% /
ご覧のとおり、空き容量は約 400 MB であるはずですが、Avail
0 と表示されています。原因は何でしょうか? 空き容量を増やすためにいくつかのプログラムをアンインストールしましたが、再びいっぱいになってしまいました。空き容量を占有しているファイルがあるかどうかを調べる方法についての提案も歓迎します。
答え1
最初のショット: エラー ログのトラフィックが多すぎます。ビデオをダウンロードする人ならわかると思います。:)
sudo du -sh /var/log
- -sは要約です
- -h は人間が読める(k、M、G、T)サフィックスです
私の場合は20MBで、ログディレクトリの横にインストール用のキャッシュがあります。
apt-get clean
これがあなたの問題なら。
もちろん、/home がルート パーティション内にあるかどうかを確認する必要があります。
大きなファイルを繰り返し検索する必要がある場合は、最初のステップの後は繰り返し実行でき、かなり高速な一連のコマンドをお勧めします。
- 最上位の疑わしいディレクトリから開始します
- 次に、すべてのサブディレクトリとファイルのサイズを検索し、数値順に並べ替えます。
sudo du -s /var/* | sort -n
0 /var/crash
4 /var/www
44 /var/games
124 /var/run
2306 /var/tmp
18538 /var/log
251876 /var/cache
1053231 /var/lib
- 短くするために、例を省略しました。最大のサブディレクトリは /var/lib であることがわかり、/var/lib に対して同じ手順を繰り返します。計算結果が何らかの形でキャッシュされるため、検索ははるかに高速になります。
sudo du -s /var/lib/* | sort -n
78116 /var/lib/apt-xapian-index
104580 /var/lib/dpkg
680503 /var/lib/postgresql
などです。最大のディレクトリをたどって、より大きなファイルを探します。ここでは -sh を使用できません。キロバイトなどの k/M/G/T では数値によるソートが機能しないためです。
答え2
フォーマットされると、ext2/3/4 ファイルシステムは、root ユーザー専用に一定の割合のディスク領域を予約します。デフォルトでは 5% です。この目的は、権限のないユーザーが利用可能なディスク領域をすべて使い果たした場合でも、システムが動作を継続し、起動できるようにすることです。
一般的に、満タンにするとどれでもファイルシステムの容量の 95% を超えると、ディスク領域を解放した後でも、過剰な断片化が発生し、パフォーマンスが低下するため、お勧めできません。
からman mke2fs
:
-m reserved-blocks-percentage
Specify the percentage of the filesystem blocks
reserved for the super-user. This avoids fragmenta‐
tion, and allows root-owned daemons, such as
syslogd(8), to continue to function correctly after
non-privileged processes are prevented from writing
to the filesystem. The default percentage is 5%.
tune2fs
どうしても必要な場合は、この値を変更するために使用できます。man tune2fs
詳細については、