What are the differences between linux-generic, linux-server and linux-virtual kernel packages?

I’m getting new VMs built for development and staging environments, and was wondering whether there are compelling reasons for or against using the linux-virtual package on all of these images.

Do the -virtual kernels have different tuning? Do they have tools that make the suspend/wake-up better/safer?

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

Since 12.04, there is no difference between the Desktop linux-generic and Server linux-server kernels; they have been merged. (Source; see here for why this was done.)

The virtual kernel differs only in the number of included drivers. It only includes “the necessary drivers to run inside popular virtualization technologies such as KVM, Xen, and VMWare. … Other than that, all other options are identical between the generic and the virtual kernels.”

In practice, this means the -virtual kernel image is smaller, and may also take up somewhat less room in memory (fewer built-in modules/drivers). The savings are probably in the single-digit megabyte range, so it won’t make a difference for most VMs.


Server and Desktop kernel differences before 12.04:

Before 12.04, the differences were:

  • The Server Edition uses the Deadline I/O scheduler instead of the CFQ scheduler used by the Desktop Edition.

  • Preemption is turned off in the Server Edition.

  • The timer interrupt is 100 Hz in the Server Edition and 250 Hz in the Desktop Edition.

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply