The problem is that a seemingly low cpu load (say 20%) on the kvm guest, results in much higer (150%+) cpu loads on the guest, and from a user perspective the guest just 'feels' much slower than the host even though they are both non-graphical environments (this is a small server). This seems wrong and has me wondering if I've configured something in a fundamentally incorrect way. I'm wondering if it's just falling back to quemu emulation for the CPU - but I'm not sure how to check for this
My guest os is 2.6.27-gentoo-r8, with KVM paravirt options, and using paravirt network and block drivers, the host os is 2.6.28-gentoo-r4. KVM version is kvm-84.
In terms of CPU, it's an AMD dual athlon 64, so it has svm support:
Code: Select all
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) Dual Core Processor 5050e
stepping : 2
cpu MHz : 2600.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 5224.31
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) Dual Core Processor 5050e
stepping : 2
cpu MHz : 2600.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 5211.31
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps
Code: Select all
# lsmod
Module Size Used by
bridge 53856 0
stp 6724 1 bridge
llc 10016 2 bridge,stp
tun 15684 2
kvm_amd 34124 2
kvm 144048 1 kvm_amd
Code: Select all
kvm -smp 2 -m 2048 \
-net nic,model=virtio,macaddr=52:54:00:12:34:01 \
-net tap -drive index=0,file=/dev/storage1/host-boot,if=virtio,boot=on \
-drive index=1,file=/dev/storage1/host,if=virtio \
-drive index=2,file=/dev/storage1/host-swap,if=virtio \
-vnc :1


