なんか、dfの結果とduの結果が全然合わなくって疑問だったのですが、結構意外な結果だった。きっかけはディスク容量が足りないサーバでパーティションの95%とかにせまる勢いだったんで、ありがちですがapacheのaccess_logをgzipとかしてたわけです。
でも、後日dfしてみるとgzして圧縮したはずだったのになぜか容量が替わっていない。でも、duだと3.5Gも開きがある。なんか不気味だったので、lsofコマンドでパーティション内のファイルをつかんでいるプロセスをチェック。で、でかいファイル順に並べ替えると...あー、いたいたrsyncがでかいファイルをつかんだままでdefunctしてました。もー、なんだかいつの奴だか分からなかったんですが、とりあえずkill -KILLして事態収束。こんなこともあるんだねー。たぶん、dfとduの実装の差なんでしょうね。その状態で考えると、dfの容量が100%を超えるって可能性もありえそうだなぁ。逆に、実体が無いのに容量はつかんじゃってて、duでは余裕があるのにファイルが作れなくなったりするのかなぁ、謎だ。
と、なんだかrootな話。