Linode’s Marketing Gimmick

As part of my job, I manage virtual machines on both of these networks. With rolling out Hyperic as a new monitoring solution, I’m now able to see some of the inventory that gets picked up by the agent automatically. This includes the amount of memory on the box.

When I installed the agent onto a Slicehost VM, all was good. The CPU is showing 2×2, which means 2 dual cores, which is interesting, it means they are not using native quad cores. At least, not in the box I’m in. Investigation on the actual box shows that they are using Dual-Core AMD Opteron(tm) Processor 2214 series processors. The memory from Hyperic shows as 512MB, which is what that VM has.

On the Linode box, it shows 1×4. They are using quads. The VM reads this as Intel(R) Xeon(R) CPU L5420  @ 2.50GHz. For some reason though, the memory was showing as 704MB. My first reaction was: That’s an odd number, did they allocate it wrong? However, checking the specs, it is supposed to be 720MB. Checking on the actual box shows 720,000kb or there abouts.

It was pretty obvious then that Linode are advertising their memory based on 1MB = 1000kb, like hard drive manufacturers do. That’s why when you buy a 500GB drive, it doesn’t format as 500GB, but it will format as 500,000MB (which is about 420GB). Slicehost are selling the memory as what the OS sees.

The actual RAM readings from the OS are.

Slicehost = 523008k total for a 512MB slice

Linode =  721740k total for a 720MB slice

It doesn’t bother me very much because I usually leave capacity margins when I provision servers, but it is annoying that Linode don’t tell people that is what they are doing.

One Response to “Linode’s Marketing Gimmick”

  1. Jed Smith Says:

    We use 1024 MB per GB, as everyone should. The disparity you’re seeing is because you used a paravirtualized kernel — something Slicehost does not support — which differs in the way memory is reported to the VM.

    On a Linode 360 I use for development which is running 2.6.18, the memory reported by “free -k” is 368,860k (exactly 360 MB reported by “free -m”). On a Linode 720 that I use for my personal site, running paravirtualized 2.6.31, “free -k” reports 721,132k (704 MB reported by “free -m”). We’re not sure why this occurs, but my best guess is that the memory the kernel uses or reserves for itself is no longer contained in the total RAM available count.

    We’re still trying to narrow down why this occurs, but it is not a marketing gimmick. Feel free to e-mail me directly at jed at linode.com or open a ticket if you have any further questions; I guarantee you that we’re not misleading you.

Leave a Reply