What is the difference between "used space", "size" and "size on disk"?

There is only one partition for both system files and personal data, which is C:. The other two partitions are for boot and for recovery.

Now I have two different reports on the size of C: on my Windows 7:

  1. by clicking the property of C:, it shows 59.4 GB for "used space";
  2. by selecting all contents (I have setup to view all hidden files and directories) under C: and viewing their property, it shows 46.9 GB for "size" and 47.6 GB for "size on disk".

Here are my questions:

  1. I was wondering why the two reports are not the same, and where the difference comes?
  2. in the second way, why "size" and "size on disk" are different? What do they mean actually? What is the difference between them and "used space" in the first way?

Thanks in advance!


  1. There's some files and folders that you don't have access to, even as Administrator. System Volume Information is one such folder.
  2. You can't directly see some items that take up space, like the MFT and USN Journal.
  3. On Vista & 7, the Windows directory is densely hardlinked. Explorer is unable to handle this and will count files with n hardlinks n times.
  4. Explorer doesn't take NTFS Alternate Data Streams into account.
  5. Files locked for exclusive use won't be counted either.

**No matter what you do, you're not going to be able to select all the files/folders on the drive and make the number match the drive's properties.

As for "size" vs "size on disk", there's several things that make the two differ. "Slack space", as mentioned by the others are the most common. But files stored with NTFS compression may take up less space on disk, affecting Explorer's display. Sparse files, offline files, and other special attributes can also cause the 2 to differ significantly.

**You can use a linux based os or a live cd to see all the hidden folders. For Windows 7 one of those folders is called ProgramData and it accounts for the big difference in size reports.


  1. Are you sure you selected everything? No hidden files in the root of C:\ that you missed? e.g. your page file or hibernate file?
  2. Size refers to the sum of the total bytes in the file whereas size on disk refers to how much space they are taking up on the disk. File sizes are aligned to multiples of 4K boundaries (it's faster), so a 1 byte file still takes up 4K on the disk.

For the totals to come close, you also need to uncheck "Hide protected operating system files (Recommended)".

Get there from Windows Explorer by pressing Alt+T, then clicking on Folder Options, then the View tab.

Otherwise, selecting all files is not selecting pagefile.sys, which is typically about 4 GB.


Size and size on disk are different because of how hard drives and file systems work.

Every file uses a certain number of blocks. Typically a block would be about 4 KB. So when you save a file that's 1 KB, it actually uses up 4 KB of disk space. A 5 KB file uses 8 KB, etc.


Update

Found a thread on MSDN called NTFS Misreports Free Space?.

It suggests running chkdsk to see a more detailed breakdown. Note that you must run it as Administrator.


One other item you're missing is that you don't have permissions to see inside folders for others users by default, even as administrator. Even if you're the only real user of the system, there's likely a few other folders in the c:\users folder that belong to system accounts of various persuasions.