0

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?

  • CrashPlan eats CPU like crazy. This is not really news :) – Michael Hampton Apr 4 '14 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 '14 at 1:23
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%

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.