Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am planning to rent a VPS service with following basic specification:

  • 512mb of RAM
  • 1 CPU
  • 20gb HDD (4gb of it is swap)
  • Ubuntu 10.10 server

I am able to choose between a 32 bit or 64 bit install of Ubuntu server as the operating system.

My question is would it be better to chose a 32 bit operating system since I will have only 512mb of RAM, rather than using a 64 bit operating system and dealing with the additional overheads?

edit:

I have installed Ubuntu server 10.10 32 bit and 64 bit on VirtualBox. After a minimalistic installation with only ssh server, the 32 bit installation consumes 63mb of RAM when first boot up and 64 bit consumes 85mb of RAM.

After installing and running tor daemon, 32 bit consumes 99mb of RAM when first boot up and 64 bit consumes 128mb.

share|improve this question
1  
Though relating to Windows, not Linux, see the discussion here for some info regarding using a 64 bit OS with <4 GB of RAM: Is there any benefit from installing Windows 7 64-bit when you have less than 4GB or RAM? –  nhinkle Mar 12 '11 at 22:44
    
Out of curiosity, if you're getting a VPS as a service, why 10.10? Seems a bit bleeding edge, and you'll have to upgrade sooner rather than later. I mean it's pretty easy to change on a VPS, but just curious. –  emgee Mar 13 '11 at 0:25
    
@emgee I wouldn't mind update it frequently so why not... –  dds Mar 14 '11 at 11:01
    
If you don't mind, by all means. I used to enjoy all the upgrades, but now in my old age I tend to stick with the LTS releases. But that's just me. –  emgee Mar 18 '11 at 22:17

3 Answers 3

up vote 10 down vote accepted

A 64-bit arrangement will not consume twice as much memory for the same task(s). Some code will be twice as big (both in RAM and on disk), and some data structures will be larger too due to larger pointers and for efficiency reasons (i.e. structures being padded to align with 64-bit boundaries rather than 32-bit ones), but most bulk data such as that held in RAM by a database will not have a noticeably larger footprint.

Using a 64-bit build may give you a bit of extra performance for CPU/memory intensive tasks as the code will be able to use the extra (and larger) registers available in the CPU instead of being limited to the fewer smaller ones available in 32-bit mode, and it may be more efficient from the hypervisor's point of view as it won't need as many context switches that involve jumping in and out of long (64-bit) mode.

My gut suggests going for the 64-bit option, unless you are relying on a 32-bit package that has no 64-bit version or code so you can compile up your own.

I would suggest trying both if you have time though: install something like VirtualBox on a home machine if you have one that is 64-bit capable and create two 512Mb VMs (one with a fully 32-bit install and one with a fully 64-bit one) with the mix of software you plan to use. This will give you a better indication of any difference you will notice than rules of thumb and guess work will.

As a side note: 4Gb is a lot of swap for a 512Mb machine, virtual or otherwise. If you have as much paged out to disk as you have in RAM then you are likely to see a significant performance drop due to swap thrashing (pages constantly being swapped between RAM and disk), if you get into a situation where you have 8 times as many memory pages on disk as you have in RAM I expect the VM will have long since effectively ground to a halt. Some of that space would be much better used as file storage if you have the option.

share|improve this answer
    
4gb of swap is the company's default not my decision. Thank you for informing me, I will change it if possible. –  dds Mar 14 '11 at 11:28

It won't consume twice the amount of RAM. It's a fair thing to say (once), where did you hear that?

As you aren't using any odd/old drivers, you aren't tied to 32bit. 64bit's biggest (but still tiny) advantage is bigger CPU registers, so go with that. Also, a 64bit processor is more likely to be newer and better, but I'm not sure that 32bit are lagging behind.

share|improve this answer
1  
The VM will likely be on the same physical host whether it runs a 32-bit OS build or a 64-bit one - so it won't make any difference to how new the CPU is. –  David Spillett Mar 12 '11 at 23:14

I'd suggest going with the 32 bit version, if only for simplicity's sake. It's hard to say without knowing more about your workload on the VPS, but I'd venture the guess that the 64 bit version will likely use slightly more RAM than the 32 bit version, and might have slight performance increase. These are likely to be negligible.

Sometimes there are issues with the 64 bit versions due to the two different libraries, etc. I've not had this with Ubuntu, but it can occur with some software packages. As you'll only have 512 RAM, I wouldn't worry about 64 bit.

That said, if there's a possibility of needing to drastically scale up your VPS resources, you should pick a 64 bit OS now, and not have to reinstall if you end up scaling to use more than 4 GB.

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.