Difference Between Filesize and Size on DIsk

7,754

Solution 1

The smallest amount of space which can be allocated on disk is called a "sector" - historically it's been 512 bytes, but newer hard disks have larger sectors of 4096 bytes (though I'm not sure if "logical sectors" are 4096 bytes too or they're still 512 bytes).

So if you have a file just 1 byte in size, it will still occupy 512 bytes on disk.

Most files are far larger than a few bytes, so the difference is usually just a few percent. I'm not sure if you have hundreds of millions of tiny files in your Downloads folder, but that would explain this behavior.

Solution 2

This is probably due to a lot of small files, every file takes at least the space of 1 block or sector. The other way around is also possible, with sparse files. You can have a file with a size of several gigabytes, only taking a couple of kilobytes in disk (ls -lh and du -sh on the file will show this difference). A large string of 0-bytes is not stored on the disk, but is stored as meta data ("byte X til X + 10013434 are 0").

Share:
7,754

Related videos on Youtube

Nyx
Author by

Nyx

Updated on September 18, 2022

Comments

  • Nyx
    Nyx almost 2 years

    When checking the properties of my Downloads folder I saw that it said

    Total Size on Files: 5.3GB Size on Disk: 43.0GB

    o__O I have noticed this in Windows, but I've been too lazy to inquire further because the difference was only a few percentage. Is this because of the different file system that Linux uses? Is this normal?

  • jippie
    jippie about 12 years
    du -h | cut -f1 | sort -h | uniq -c | sort -rn | head First column will contain the count, second column the approximate file size. If you have a lot of small files, the count will be high for the top few lines with size < 4k.