
私のeMMCデバイスには、df -hコマンドの次の出力を報告するパーティションがあります。
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk2p3 16Z 16Z 84M 100% /data
しかし、パーティションサイズは100MBです!パーティション形式はext4です。上記のように、出力は使用されたスペースの膨大な値を報告します。実際、パーティションは約5MBしか使用しませんが、何らかの理由でdfは大きな値を報告します。 du -shコマンドでパーティションで使用されているサイズを確認すると、次のように報告されます。
#du -sh
5.8MB
また、une2fsコマンドで出力を確認しましたが、得られた結果は次のとおりです。
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 25688
Block count: 102400
Reserved block count: 5120
Overhead blocks: 50343939
Free blocks: 87634
Free inodes: 25190
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Fragments per group: 8192
Inodes per group: 1976
Inode blocks per group: 247
Flex block group size: 16
Filesystem created: Thu Nov 21 06:38:03 2019
Last mount time: Thu Mar 10 13:20:58 2022
Last write time: Thu Mar 10 13:20:58 2022
Mount count: 31
Maximum mount count: -1
Last checked: Sat Jan 22 08:17:33 2022
Check interval: 0 (<none>)
Lifetime writes: 604 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
オーバーヘッドブロックが何であるか、なぜオーバーヘッドブロックに大きな数字が表示されるのか知っていますか? dfコマンドの出力には100%の使用量が表示されますが、パーティションにファイルを作成できます。 dfコマンドが100%使用量ではなく正しい値を返すかどうかを確認する方法、またはune2fsにリストされている「オーバーヘッドブロック」をクリアする方法をご存知ですか?
私のスクリプトはパーティションの使用率を確認し、使用量が70%を超えるとファイルを削除します。 dfコマンドは常に100%の使用量を表示するため、常にすべてのファイルを削除します。 df コマンドが使用に適しているかどうかを教えてください。あるいは、duなどの他のコマンドを使用する必要があります。