Is i386 architecture better than x86_64 for guest systems?

I’ve been playing with Cloudmin with KVM installed on x86_64 machine and found out “CentOS 6.0 KVM instance with Virtualmin GPL” provided by default installs i386 guest systems.

Is there any particular reason for that? Is i386 architecture somehow better (faster) than x86_64 in KVM (for that matter Xen or any other virtualization system) guest servers?

How much arguments given on for true machines are applicable for virtualized guest systems too?

A while back I was looking into this topic too, and found some benchmark comparisons that specifically target web services (Apache and MySQL mostly), and they found that the 64 bit versions were significantly more performant. Therefore I personally always use the 64 bit version of Ubuntu for hosting requirements.

Disadvantage is that 64 bit software needs more memory.


There’s some documentation on choosing between a 32 bit and 64 bit system here in the section “Should I use a 32 bit or 64 bit Operating System”:

Locutus is absolutely correct about performance, and the above link cites some benchmarks. We’d suggestion caution using a 64 bit distro if RAM isn’t plentiful though :slight_smile:


Thanks for your inputs. Indeed there are lot’s of contradictory discussions in the net, for instance some of them:

Most of the VPS boxes have around 2 GB of RAM, then per recommendations in the above links I need to go with 32 arch. Though I still feel little bit uncomfortable to deploy 32 arch systems on x86_64 machine.

Though I still feel little bit uncomfortable to deploy 32 arch systems on x86_64 machine.

Well, I’m not sure there’s a chip out there anymore that doesn’t support 64 bit.

So in that regard, nearly every machine would support both 32 bit and 64 bit.

When you have less RAM… something in the 512MB range, it’s a bit more cut and dry a decision… that’s a low memory situation, and at that point, using a 64 bit system may be downright wasteful, as you’ll be constantly struggling to find ways to free up RAM just to keep your services from running out of memory and dieing.

When you have 2GB of RAM, there’s a bit more to discuss :slight_smile:

I’m sure you’ll get lots of opinions both ways, and it will ultimately come down to what your needs are.

I personally feel that, even with 2GB of RAM, that the RAM is more valuable than the architecture. Running a 32 bit system, you could serve twice as many concurrent Apache users without needing to swap. Or you could load more MySQL data into memory. And so on.

I have my own VPS server with 2GB of RAM, and I chose to install a 32 bit OS onto it, as I wanted to avoid RAM problems, and I felt that was more important than any performance increase I might see with a 64 bit OS.

But, it really comes down to your own needs. If you can, you might even consider doing some benchmarking with the web apps you want to run, putting them on both 32 bit and 64 bit systems, and seeing what sort of performance differences you run into.


Thanks Eric, very much sober considerations! I think I will use mostly 32-bit systems, but for some of the projects with more RAM I’ll go with 64 bit. So I’d like to have both of them. By the way Cloudmin doesn’t offer 64 bit CentOS, s what is the easiest way to deploy 64 bit system?

Yeah, most of the Virtualmin provided Cloudmin guest images are indeed 32 bit… to make a 64 bit image, all you’d need to do is perform a 64 bit OS install into a Cloudmin guest, and have Cloudmin generate an image based on that guest.

There are instructions for doing that here:

It is still not clear how to install 64 bit OS into Cloudmin guest as that page is only explaining how to create images. Any instructions available on how to install CentOS 64 bit into a guest image remotely without going to data-center?


I am bumping this discussion, since exmplains how to create/import new images into the system, but it doesn’t explain where to get or how to create 64 bit images. Anyone can suggest where to get 64 bit equivalents of the Cloudmin images available for downloading from




Virtualmin doesn’t provide 64 bit images for most distros, it typically is only providing 32 bit images.

There’s primary two reasons for that –

One, it takes a lot of time to maintain images, so maintaining two architectures was providing to be a lot of work.

The second issue is related to the article here titled “Should I use a 32 bit or 64 bit Operating System”:

That is, we don’t typically recommend a 64 bit distro until the server it’s running on has 3-4GB of RAM.

And most of the VPS’s being provisioned with Cloudmin have less than that.

So, it’s certainly possible to use a 64 bit guest OS, but that’s something you’d need to build, there aren’t pre-existing ones.


You would need to perform an installation of a 64 bit distro into a guest.

There’s details here on creating an “empty system”:

You could then use a 64 bit install CD/image of the distro of your choice.



I appreciate your detailed explanation, I do understand and fully accept them. I have already been using 32 bit KVM guests and I am completely happy with them.

However, sometimes I really need 64-bit guest systems. And I am ready to build them by myself, but it is not really clear how exactly. If I had could get at least one 64 bit guest image, then I could create clones, but the problem is that I don’t know where to get one. And your explanation repeats the earlier discussions, but doesn’t provide an answer to my question:

Where I could download 64-bit images?

Now I finally see how it is done. Thank you very much, Eric!