Saya memiliki host linux dengan 4 tamu linux KVM. Semua tamu cukup banyak menganggur, memiliki beban <0,1 di dalam tamu.
Sekarang, jika saya melakukan top
host, setiap proses KVM menggunakan sekitar 30% dari CPU.
Apakah ini perilaku normal? Saya berharap tuan rumah membutuhkan CPU jauh lebih sedikit hanya untuk menjadi tuan rumah tamu yang menganggur.
Jika itu normal, apa alasannya?
Jika tidak normal, apa masalahnya?
performance
cpu
kvm
virtualization
michas
sumber
sumber
Jawaban:
Menjadi sinis saya bisa mengatakan itu "normal" untuk tamu Windows tetapi tidak untuk tamu Linux (setidaknya saya tidak pernah melihat orang berperilaku seperti itu).
Dengan Windows, itu sangat tergantung pada aplikasi yang berjalan (hampir menganggur). XP atau W2K biasa (saya belum memiliki pengalaman dengan versi yang lebih baru di KVM) menyebabkan 10% hingga 20% pada host (ditampilkan sekitar 0% di dalam) tetapi MS SQL server mendapatkan ini dengan mudah di atas 30%. Ini sepertinya terkait dengan akses timer dan / atau ACPI. Tetapi bahkan dalam VM non-ACPI saya tidak pernah mendapat Windows di bawah 10% pada host.
Edit 1 (mengintegrasikan komentar)
Apa output dari
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
(di tamu)? Itu harus kvm-clock. Periksa konfigurasi kernel Anda (/proc/config.gz) untuk CONFIG_PARAVIRT_CLOCK dan CONFIG_KVM_CLOCK.Ini adalah daftar opsi konfigurasi kernel yang relevan dengan KVM .
sumber
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
?acpi_pm
di tamu dantsc
di tuan rumah. Tidak X kecuali server aplikasi java dan DB oracle berjalan di setiap tamu.kvm-clock
(di tamu). Saya tidak pernah harus mengkonfigurasi itu secara eksplisit. Periksa konfigurasi kernel Anda (/proc/config.gz
) untukCONFIG_PARAVIRT_CLOCK
danCONFIG_KVM_CLOCK
.y
. Mengatur current_clocksource untukkvm-clock
membuat segalanya lebih baik. Sekarang setiap proses KVM adalah sekitar 20 persen. Sistem dimigrasikan ke KVM dari pengaturan kotak virtual sebelumnya. Sepertinya beberapa pengaturan masih dari pengaturan lama ...Saya akan memeriksa untuk memastikan bahwa para tamu KVM disediakan sehingga mereka dapat menggunakan semua sumber daya host (CPU, RAM, dll.). Biasanya tamu KVM hanya dialokasikan misalnya 1-2 CPU (core) pada sistem yang mungkin mengandung lebih banyak.
Ini berarti Anda tidak membandingkan hal yang sama persis ketika melihat sumber daya host vs internal tamu KVM yang diberikan.
Sebagai contoh
Tuan rumah memiliki yang berikut:
Sementara salah satu tamu KVM memiliki ini:
sumber