Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

My basic question is whether Linux based systems use disk measurements based on SI units, where a KB is a kilobyte, is equal to 1000 bytes (103), or based on the bastardized approximation in base 2, where a KB really means kibibyte (which should actually be abbreviated as KiB) and is equal to 1024 bytes (210).

It comes up because I'm in the process of installing and configuring a new Avamar backup system (woohoo!), and licensing is based on used storage. It's a disk-to-disk backup system built on Linux, so our ultimate licensing needs (and benchmarking an so on) are going to be different depending on whether or not Linux measures disk usage the correct way, or acts like Windows and says 1000 == 1024, as far as hard drive capacities are reported.

Ans just so I don't get accused of splitting hairs, the difference between a terabyte and a tebibyte is ~10%, which means that difference in one direction is the difference between getting 90% of our data backed up and having all of it backed up, while the difference in the other direction is six figures in cost, and frankly, if the company's going to waste that kind of money, it really should be on buying me an Aston Martin.

The Avamar-trained and certified engineer who's "helping" to set this up doesn't know, their sales reps don't know, and their tech support doesn't know either, so I figured I'd ask here, in the hopes that one of our resident Linux gurus knows right off (or can instruct me on how to find out), so I don't waste anymore time talking to storage "experts" who don't know what a kibibyte is. ("No, I'm NOT pronouncing it wrong, and please transfer me to someone who knows anything.")

Incidentally, if the answer is version or distro-dependent, let me know and I can SSH into the system to get that information.

share|improve this question

2 Answers 2

up vote 2 down vote accepted

Well, "correct" depends on who you ask; just because the IEC says so, doesn't it make it widely used or recognized.

I'd be interested in seeing some polling of our field (should add it to the SF survey next time around), but I bet the number most of us associate with the word "kilobyte" is:

1024, unless we're talking about physical media - in which case, you meant drivemaker's kilobyte, which is 1000

I think most of us don't see the need for an set of units to reduce confusion, when we weren't confused in the first place. Until software actually uses the "new" terms commonly, the redefinitions of the old terms won't have any real-world momentum.

Though we all know that the "drivemaker's kilobyte" is really down under 900 bytes these days.


Avamar's user interface presents storage sizes with "KB" equaling 1024.

For instance, this 56.5 * 10^9 byte log entry shows as 52.7 GB.

size comparison

I'm not sure if that equates to the license sizing, but I suspect that it does.

share|improve this answer
    
Thanks for the answer, which I'm going to mark as the correct answer, even though you're wrong about what the definition of a kilobyte is. :p Regardless of what IEC or the ServerFault community or anyone else says, the SI prefix kilo is defined as 1000. Not 1024, 1000 +/- 2.4%, 999, or any other value close to 1000, that's more convenient to whomever for whatever reason. Really, imagine what would happen if anyone else tried this. "Well, a mile is defined as 5280 feet, but we're going to measure OUR mile as 5000 feet, because that's a rounder number." :/ –  HopelessN00b Sep 6 '12 at 17:13
1  
@HopelessN00b But "kilobyte" meant "1024 bytes" for decades before "kibibyte" existed; if we change the definition of "mile" to "6000 feet", you can't expect people to stop using the word to refer to "5280 feet" overnight. –  Shane Madden Sep 6 '12 at 17:27
    
I don't disagree, but the people who started using kilo to mean 1024 were wrong, as were the people who perpetuated the incorrect usage of the prefix. It's meant 1000 for millennia, and 1000 being an inconvenient number to measure in base 2 doesn't alter that fact. –  HopelessN00b Sep 6 '12 at 17:42
    
@HopelessN00b Yup, fair enough. –  Shane Madden Sep 6 '12 at 19:02

From man df and man du:

   -h, --human-readable
          print sizes in human readable format (e.g., 1K 234M 2G)

   -H, --si
          likewise, but use powers of 1000 not 1024

ls also allows the --si option but -H has another meaning there.

Generally, Linux usually uses base 2 until otherwise noted, which makes sense as everything is organized based on this base, down to the disk sector size of either 512 Byte or 4096 Byte.

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.