1

I have a KVM Virtualization host with 8 cores and 32GB of RAM. The machine is used to host VMs used in evaluating software, configurations, etc. Typically there are 2-4 VMs running simultaneously. The host machine is running Ubuntu Server 12.04 LTS. It is a bare bones installation with only KVM installed. Typically guest VMs on this host are allocated 2 cores and 4GB of RAM. All guests are running Ubuntu 12.04 Server.

Recently, I began testing a piece of software (CrashPlan PROe Server) on a VM with 2 cores and 8GB of RAM allocated. CrashPlan PROe is a Java application. I imported a configuration from a production server to simulate our live environment.

Under a normal load I observed high CPU utilization using top (on the guest). I also observed on the host machine a single KVM process that was exhibiting a similar CPU load. On the KVM host there appears to be one KVM process per VM.

• Am I correct that there will be one host KVM process per KVM guest?

• When allocating CPU resources to a virtual machine - does the virtual machine directly address those cores? Or does the host simply present some virtual representation of said cores to the guest?

• In my particular case, how is a guest that is only allocated 2 Cores and 8GB of RAM on a machine with 8 cores and 32GB of RAM able to cause such high CPU utilization (in excess of 80% on the single KVM process) on the host?

2
  • CrashPlan eats CPU like crazy. This is not really news :) Apr 4, 2014 at 1:18
  • @MichaelHampton I know, such a pain, I actually submitted logs and Java thread dumps to them and their response is "this is normal." Less concerned about this as I've come to expect it from CrashPlan.
    – sardean
    Apr 4, 2014 at 1:23

1 Answer 1

1

KVM starts and runs a process for every virtual cpu you assign to a guest. Dual core VM means two host side threads.

The guest schedules a vcpu, the commands are passed to the host and get executed in the appropriate thread.

Java is generally known to be resource hungry. 80% isn't bad because that's just one host core. I.e. two fully scheduled host cores would show 200%

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .