1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dfとduがなぜか違う

Posted at

df と du で報告されるディスク使用量が異なるという現象に出会いました。

df はファイルシステムが思っている使用量を返します。

du はファイル1つ1つのサイズを足し算した使用量を返します。

両者はほぼ同じ値を返すはずです。ところが、さまざまな理由で差異が出てきます。

私が出会ったのはこんな感じでした。

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        25G   18G  2.1G  71% /
/dev/sdb1        41G  115M   40G   1% /mnt/hoge

# du -sh /
6.5G    /

6.5Gしか使ってないはずなのに、ルートパーティションは18Gも使っていることになっています。

検索してよくでてくる話は、プロセスが消したファイルを掴んでいて、df の方が大きく見えるという原因です。

lsof / あるいは ls -la /proc/*/fd/* | grep deleted で調べられます。

対処は、対象のプロセスを再起動する方法もありますし、OSごと再起動してしまうのも手でしょう。

しかし、私が経験したのは別の原因でした。


原因:マウントポイントのマウント前にファイルが大量にあった。

# umount /mnt/hoge

# du -sh /
18G     /

いや、そこで食ってるとは思わないやん

スクリーンショット 2024-10-13 192408.png

・・・

同様の現象に出会った方は「いいね」お願いします m(_ _)m

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?