qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Server 2012R2 guest poor performance


From: Brian Rak
Subject: [Qemu-devel] Server 2012R2 guest poor performance
Date: Mon, 15 Dec 2014 17:44:53 -0500
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

I'm trying to track down some CPU usage issues we're having with some virtual machines. Basically, when we run our application under KVM, we see about 2x the CPU usage that we would see if we were running it on bare metal.

kvm_stat shows me the following:
 efer_reload                  0       0
 exits                120145461   54146
 fpu_reload            23548805   10735
 halt_exits            21716863    9688
 halt_wakeup           21674988    9696
 host_state_reload     30264874   14106
 hypercalls                   0       0
 insn_emulation         4459351    2087
 insn_emulation_fail          0       0
 invlpg                       0       0
 io_exits               8608533    4178
 irq_exits              4170903    1026
 irq_injections        32551242   15819
 irq_window             7779935    5332

I'm trying to figure out why I'm seeing such high numbers for VM exits, but I haven't been able to track down the cause yet.

If I do:

# echo 1 >/sys/kernel/debug/tracing/events/kvm/enable; cat /sys/kernel/debug/tracing/trace_pipe | head -100000 > trace.log ; echo 0 >/sys/kernel/debug/tracing/events/kvm/enable
# cat  trace.log | grep kvm_exit | awk '{print $7}' | sort | uniq -c
   4518 EXCEPTION_NMI
    427 EXTERNAL_INTERRUPT
   4048 HLT
   1870 IO_INSTRUCTION
   6819 MSR_WRITE
    188 PAUSE_INSTRUCTION
   1756 PENDING_INTERRUPT
   1775 TPR_BELOW_THRESHOLD

I've uploaded a copy of the trace log to https://dl.dropboxusercontent.com/u/50986796/trace.log.gz

What is causing the MSR_WRITE exits? Is there anything I can do to optimize this?

I'm running:
qemu 2.2.0
'-cpu Haswell,+invtsc,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1000 -no-hpet'
virtio storage + network

Is there anything else that I can do to make this run more efficiently?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]