Pengamatan:
Saya memiliki server HP dengan CPU dual core AMD (Turion II Neo N40L) yang dapat menskalakan frekuensi dari 800 hingga 1500 MHz. Penskalaan frekuensi bekerja di bawah FreeBSD 9 dan di bawah Ubuntu 12.04 dengan kernel Linux 3.5. Namun, ketika saya meletakkan FreeBSD 9 di lingkungan KVM di atas Ubuntu, penskalaan frekuensi tidak berfungsi. Tamu (dengan demikian FreeBSD) tidak mendeteksi frekuensi minimum dan maksimum dan karenanya tidak skala apa pun ketika pekerjaan CPU semakin tinggi. Pada host (dengan demikian Ubuntu) proses KVM menggunakan antara 80 dan 140% dari sumber daya CPU tetapi tidak ada penskalaan frekuensi yang terjadi, frekuensinya tetap pada 800 MHz, meskipun ketika saya menjalankan proses lain pada kotak Ubuntu yang sama, gubernur ondemand dengan cepat skala frekuensi hingga 1500 MHz!
Kekhawatiran dan pertanyaan:
Saya tidak mengerti bagaimana CPU mungkin divirtualisasi, dan jika terserah kepada tamu untuk melakukan penskalaan yang tepat. Apakah ini memerlukan beberapa fitur CPU agar dapat diakses oleh tamu agar ini berfungsi?
Apendix:
The berikut Red Hat rilis catatan cenderung untuk menyarankan skala frekuensi yang keluar untuk bekerja bahkan dalam lingkungan tervirtualisasi (lihat bab 6.2.2 dan 6.2.3), pikir catatan gagal ke alamat mana teknologi virtualisasi pekerjaan ini dengan (KVM, Xen , dll?)
Sebagai informasi, cpufreq-info
output pada Ubuntu adalah:
$ cpufreq-info
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
driver: powernow-k8
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 8.0 us.
hardware limits: 800 MHz - 1.50 GHz
available frequency steps: 1.50 GHz, 1.30 GHz, 1000 MHz, 800 MHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 800 MHz and 1.50 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
cpufreq stats: 1.50 GHz:14.79%, 1.30 GHz:1.07%, 1000 MHz:0.71%, 800 MHz:83.43% (277433)
analyzing CPU 1:
driver: powernow-k8
CPUs which run at the same hardware frequency: 1
CPUs which need to have their frequency coordinated by software: 1
maximum transition latency: 8.0 us.
hardware limits: 800 MHz - 1.50 GHz
available frequency steps: 1.50 GHz, 1.30 GHz, 1000 MHz, 800 MHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 800 MHz and 1.50 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
cpufreq stats: 1.50 GHz:14.56%, 1.30 GHz:1.06%, 1000 MHz:0.79%, 800 MHz:83.59% (384089)
Alasan saya ingin fitur ini bekerja adalah: hemat energi, jalankan lebih tenang (kurang panas) dan juga rasa ingin tahu yang sederhana untuk memahami dengan lebih baik mengapa ini tidak berfungsi dan bagaimana membuatnya bekerja.
cpufreq-info
di OS host, mungkin akan mengeluh bahwa tidak ada driver yang tersedia.
cpufreq-info
tidak mengeluh dan mengeluarkan informasi yang benar, sehingga CPU didukung penuh (tentu saja dengan cara!). Driver yang digunakan adalah powernow-k8 yang juga logis.