私は、RHEL4とLVM2を使用しています。 GBを超える大きなファイルを削除した後でも、df
コマンドを使用すると、パーティションサイズが更新されません。
-bash-3.00$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/sys-root 3.9G 1.4G 2.3G 39% /
/dev/cciss/c0d0p1 251M 19M 219M 8% /boot
/dev/mapper/sys-home 250G 125G 113G 53% /home
/dev/mapper/sys-tmp 3.9G 41M 3.7G 2% /tmp
/dev/mapper/sys-var 3.9G 3.6G 98M 98% /var
しかし、duを使用して確認すると、適切なサイズが表示されます
-bash-3.00$ Sudo du -sh /var/
179M /var/
dfの出力では/ varパーティションが3.6Gb使用されていることが示されていますが、duでは179Mbのみであることが示されています。
ここで問題は、同期もパーツプローブも情報を更新していないことです。ただし、ホストを確実に再起動すると問題は解決します。しかし、これは本番サーバーなので、再起動できません。ホストを再起動せずに手動でディスク情報を更新できる方法はありますか?
ファイルが削除/削除/リンク解除されたときに、プロセスによって開かれたままの場合、ファイルのデータではなく、ファイルのディレクトリエントリのみが消去されます。すべてのプロセスによってファイルが完全に閉じられると、データは空き領域プールに返されます。この方法で匿名ファイルを作成できるため、これは機能です。
ファイルシステムに開いている削除済みファイルがあるかどうかを確認するには、次のいずれかのコマンドを実行します。ここで、/mount/point
はマウントポイントです(ここでは/var
)。
lsof +L1 /mount/point
この 開いている、リンクされていないファイルに関する記事 は、これをさらに説明するのに役立ちます。