Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We run several ubuntu virtual machines on ESX server.

In ubuntu, there are various kernels available:

  • linux-generic-pae
  • linux-generic
  • linux-server
  • linux-virtual

Which one is the best choise for a virtual machine running on ESX?

share|improve this question
What are the virtual machines going to do?. Desktop, servers?. Will they need some kind of special drivers?. – Javier Rivera Dec 23 '10 at 16:08
These are various servers, network being the only "important" hardware. – Vilmantas Baranauskas Jan 4 '11 at 11:09
up vote 6 down vote accepted

Let's try to explain the main differences between the kernels that you listed:

  • linux-generic: This is the normal Ubuntu kernel. The one that the distro uses as default.

  • linux-generic-pae: This is the generic kernel with PAE enabled. It will let you use 4 Gb of RAM or more in a 32bit system. You don't want it if your using 64 bits or if you have less than 4Gb of RAM, as it has a small performance penalty.

  • linux-server: This is a kernel optimised for server use. This article has good info on the most important changes. They are over 50 configuration options changed. A gross approximation will be that this kernel will favor long background processes over interactive ones. It will not hesitate to freeze your mouse to give more power to your database number crunching or a file-write.

  • linux-virtual: This is the server kernel, with most drivers stripped. It only has the drivers needed to run as a guest in the most popular virtual machines like KVM, Xen, and VMWare. Source.

So there is no clear answer to your question, it all depends on the use of the virtual machines. If they are going to be traditional servers (not terminal servers) and you are never going to move them to real hardware, linux-virtual seems the best option.

share|improve this answer

Your Answer


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.