coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Numbers behind "df" and "tune2fs"


From: Pádraig Brady
Subject: Re: Numbers behind "df" and "tune2fs"
Date: Thu, 12 Sep 2013 14:16:04 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2

On 09/12/2013 11:04 AM, Nicolas Michel wrote:
> Hello guys,
> 
> I have some difficulties to understand what really are the numbers
> behing "df" and tune2fs. You'll find the output of tune2fs and df
> below, on which my maths are based.
> 
> Here are my maths:
> 
> A tune2fs on an ext3 FS tell me the FS size is 3284992 block large. It
> also tell me that the size of one block is 4096 (bytes if I'm not
> wrong?). So my maths tell me that the disk is 3284992 * 4096 =
> 13455327232 bytes or 13455327232 / 1024 /1024 /1024 = 12.53 GB.
> 
> A df --block-size=1 on the same FS tell me the disk is 13243846656
> which is 211480576 bytes smaller than what tune2fs tell me.
> 
> In gigabytes, it means:
> * for df, the disk is 12.33 GB
> * for tune2fs, the disk is 12.53 GB
> 
> I thought that maybe df is only taking into account the real blocks
> available for users. So I tried to remove the reserved blocks and the
> GDT blocks:
> (3284992 - 164249 - 801) * 4096 = 12779282432
> or in GB : 12779282432 / 1024 / 1024 / 1024 = 11.90 Gb ...
> 
> My last thought was that "Reserved block" in tune2fs was not only the
> reserved blocks for root (which is 5% per default on my system) but
> take into account all other reserved blocks fo the fs internal usage.
> So:
> (3284992 - 164249) * 4096 = 12782563328
> In GB : 11.90 Gb (the difference is not significative with a precision of 2.
> 
> So I'm lost ...
> 
> Is someone have an explanation? I would really really be grateful.
> Nicolas
> 
> ---------------------------------------
> 
> Here is the output of df and tune2fs :
> 
> $ tune2fs -l /dev/mapper/datavg-datalogslv
> tune2fs 1.41.9 (22-Aug-2009)
> Filesystem volume name:   <none>
> Last mounted on:          <not available>
> Filesystem UUID:          4e5bea3e-3e61-4fc8-9676-e5177522911c
> Filesystem magic number:  0xEF53
> Filesystem revision #:    1 (dynamic)
> Filesystem features:      has_journal ext_attr resize_inode dir_index
> filetype needs_recovery sparse_super large_file
> Filesystem flags:         unsigned_directory_hash
> Default mount options:    (none)
> Filesystem state:         clean
> Errors behavior:          Continue
> Filesystem OS type:       Linux
> Inode count:              822544
> Block count:              3284992
> Reserved block count:     164249
> Free blocks:              3109325
> Free inodes:              822348
> First block:              0
> Block size:               4096
> Fragment size:            4096
> Reserved GDT blocks:      801
> Blocks per group:         32768
> Fragments per group:      32768
> Inodes per group:         8144
> Inode blocks per group:   509
> Filesystem created:       Wed Aug 28 08:30:10 2013
> Last mount time:          Wed Sep 11 17:16:56 2013
> Last write time:          Thu Sep 12 09:38:02 2013
> Mount count:              18
> Maximum mount count:      27
> Last checked:             Wed Aug 28 08:30:10 2013
> Check interval:           15552000 (6 months)
> Next check after:         Mon Feb 24 07:30:10 2014
> Reserved blocks uid:      0 (user root)
> Reserved blocks gid:      0 (group root)
> First inode:              11
> Inode size:              256
> Required extra isize:     28
> Desired extra isize:      28
> Journal inode:            8
> Default directory hash:   half_md4
> Directory Hash Seed:      ad2251a9-ac33-4e5e-b933-af49cb4f2bb3
> Journal backup:           inode blocks
> 
> $ df --block-size=1 /dev/mapper/datavg-datalogslv
> Filesystem                      1B-blocks      Used   Available Use% Mounted 
> on
> /dev/mapper/datavg-datalogslv 13243846656 563843072 12007239680   5% /logs
> 

Well just to confirm that with ext3 on a standard partition here,
df (i.e statfs) returns (Block count - Reserve GDT blocks).

So you've 50830 blocks unaccounted for by my calc.
It seems like your ext3 file system is reserving that
for some reason not reported by tune2fs.
Perhaps it due to journalling mode/size or something
(which can be adjusted with tune2fs).

Note you can discount the file system overhead in the output of df
(I wouldn't want that TBH) by remounting with minix_df option.
This is described at http://www.disharmony.nl/?p=54 which also
well explains the different paths to get the 2 numbers.

cheers,
Pádraig.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]