Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've bought a 1TB external hard drive and after formatting the entire drive in ext4 Nautilus says there are 934.3 GB of free space. enter image description here

I've also tested formatting the drive in XFS, and in this case there are 999.7 GB of free space.enter image description here

Why more than 60 GB are missing from free space with ext4 and not with XFS ?

share|improve this question

3 Answers 3

EXT3/EXT4 filesystems take 5% of partition size for security etc. (e.g. in "non free disk space disk" cause).

If it isn't root partition, You could change this 5% to e.g. 1% by doing:

sudo tune2fs -m 1 /dev/sda3

where you should change sda3 to your partition.

share|improve this answer
1  
This space is not lost, by the way -- it is reserved for a single user, typically root. This is useful for example if you have a single partition and one user downloads the Internet (filling up the disk), system services can still write log files and audit information, keeping the system at least functional enough so an administrator can log in and examine the situation. For disks that will never contain anything relevant to the system, it is certainly acceptable to set this reservation to 0%. –  Simon Richter Jul 26 '12 at 16:05
    
"If it isn't root partition"- Actually, it WILL work for root partition, and mounted partitions. Thx –  Sepero Aug 17 '13 at 11:46

XFS and Ext4 filesystems have something called journaling.

Taken from Wikipedia:

A journaling file system is a file system that keeps track of the changes that will be made in a journal (usually a circular log in a dedicated area of the file system) before committing them to the main file system. In the event of a system crash or power failure, such file systems are quicker to bring back online and less likely to become corrupted.

The difference from both of them is that the maximum size for a XFS journal is 128MB while in ext4 it can take several gigabytes from your hard disk but it can be turned off if you do not care much about data integrity.

In the end its up to you and will always play with a mix of size occupied, data integrity and speed (non journal filesystems tend to be faster than filesystems with journaling turned on).

share|improve this answer

With ext4 (and the extfs family) the inode tables are pre-allocated at format time. This is the traditional Unix behavior concerning file systems. When you format a volume with the extfs file system, you can tweak the number of inode you expect using the -N parameter of the mkfs utility. (Source).

This design may offer better performance (when allocating many files at a time) in spite of scalability. One has to estimate the number of inode needed at format time. A volume containing mostly small files, say a mail server, will require more inodes per gigabyte than a volume containing ISOs.

Once you used all the inodes you just can’t create new file even if there is still free space on the drive. The bigger the volume is, the larger the inode tables will be. That leads to many gigabytes lost on large drives.

On the other hand, XFS uses a technique called "dynamic inode allocation" (Source). This leads to better scalability as the number of inodes grows or shrinks depending on the amount of data on the volume. This is a better design when you can’t predict what the file system will be used for or when you expect to save the extra space for your data. This is also the NTFS behavior.

What has been said about journaling is wrong, journaling costs only a few megabytes. The main space loss is due to static inode allocation.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.