%20%E3%81%AF%E4%BD%BF%E7%94%A8%E6%B8%88%E3%81%BF%2F%E7%A9%BA%E3%81%8D%E9%A0%98%E5%9F%9F%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%81%A6%E7%9F%A5%E3%82%8B%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
を実行するdf
と、ほぼ瞬時に出力が表示されます。
(FS Size Used Avail Use%)
/dev/sda1 145G 8.4G 130G 7%
sda1 は ext4 パーティションです。
すべてのファイルのサイズを合計せずに、df
スペース情報をほぼ瞬時に得るにはどうすればよいですか?
答え1
伝統的なUnix ファイルシステム、拡張子2ext3とext4には、スーパーブロック、ファイルシステムの構成に関する情報が含まれています。プライマリ スーパーブロックはパーティションの先頭から固定オフセットで保存されます。そこに含まれる情報は非常に重要であるため、スーパーブロックのバックアップ コピーがファイルシステム全体にわたって保存されます。
スーパーブロックに含まれる情報には、ファイルシステム内の inode とブロックの合計数と、空き領域の数が含まれます。この情報を使用して、ファイルシステムの使用済み領域と使用可能領域を効率的に計算できます。