GNU/Linux >> Belajar Linux >  >> Ubuntu

Qemu / Kvm:Tidak Dapat Melewati Beberapa Core / CPU Untuk Tamu?

sepertinya saya tidak dapat meneruskan banyak inti/CPU ke tamu KVM. Apa pun yang saya lakukan, para tamu hanya melaporkan satu CPU / inti.

Perangkat keras host:Xeon E5620 pada mainboard Supermicro
Perangkat lunak host:Ubuntu 11.04 (Natty) 64-Bit

Saya telah mengkompilasi kernel 2.6.37 saya sendiri (yang lebih baru) untuk Natty (karena saya memiliki masalah tertentu dengan passthrough PCI jika saya menggunakan kernel standar). Saya tidak mengubah bagian lain dari distribusi; khususnya, saya menggunakan paket qemu-kvm asli yang disertakan.

Karena virt-manager dan alat terkait gagal dengan pesan kesalahan yang tidak dapat dipahami ketika mencoba tindakan dasar pertama, saya memulai mesin virtual dengan tangan alih-alih menggunakan pembungkus/manajer apa pun. Saya menggunakan perintah seperti ini:

/usr/bin/qemu-system-x86_64 -M pc -cpu host -smp cores=2,threads=1,sockets=1 -drive file=/dev/sda6,if=virtio,cache=none,index=0 -drive file=/dev/sdb,if=virtio,cache=none,index=1 -cdrom /dev/cdrom -pidfile ./qemu-garak.pid -boot c -k de -m 4096 -smp 1 -device pci-assign,host=01:05.0 -daemonize -usb -usbdevice "tablet" -name garak -net nic,vlan=0,model=virtio,macaddr=02:01:01:01:01:01 -net tap,vlan=0,ifname=virtnet1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifup -vnc :1

Saya juga telah mencoba -cpu Host dan -smp cores=1,threads=1,sockets=2 (antara lain).

Saya menjalankan beberapa tamu Windows (Server 2003 R2 (32 Bit), Server 2008 R2 (64 Bit), Windows XP Pro (32 Bit), Windows 7 Pro (64 Bit)) dan tamu Linux (Ubuntu 11.10 (64 Bit), Squeeze Debian (32 Bit)), tetapi semua ini hanya melaporkan satu prosesor / inti, terlepas dari pengaturan -smp; selain itu, penyiapannya bekerja dengan andal.

Sekarang, saya benar-benar membutuhkan daya CPU tambahan di salah satu tamu, jadi saya bertanya-tanya apa yang saya lakukan salah. Tentu saja, saya telah membaca tentang mengubah HAL dalam Windows dan mencoba beberapa hal (Uniprosesor HAL vs Multiprosesor HAL), tetapi tidak berhasil. Setelah seharian mencoba memecahkan masalah, sekarang saya tidak tahu apa lagi yang bisa saya lakukan.

Apakah ada yang tahu apa yang salah? Apakah ada beberapa opsi kompilasi kernel (2.6.37) yang mungkin bertanggung jawab karena tidak dapat mengirimkan banyak inti ke tamu? Apakah versi qemu-kvm harus sesuai dengan versi kernel (tidak ada pesan peringatan ketika saya memulai tamu seperti yang ditunjukkan di atas)?

Terima kasih banyak,

Binarus

Pembaruan #1:

Seperti yang diharapkan, tamu linux juga tidak menampilkan lebih dari satu CPU/inti:

[email protected]:~# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 44
model name      : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping        : 2
cpu MHz         : 2400.400
cache size      : 4096 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
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 ss syscall nx pdpe1gb rdtscp lm constant_tsc up nopl pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm
bogomips        : 4800.80
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

[email protected]:~#

Output ini telah dihasilkan pada tamu dengan telah dimulai dengan -cpu host dan -smp 2.

Terkait:Gitkraken tidak mau diinstal?

Jawaban yang Diterima:

Kalau begitu, aku malu:

Di tengah baris perintah di atas, sudah ada opsi "-smp 1". Saya tidak ingat ini, dan saya belum melihatnya selama tes saya. Saat menghapusnya, itu berfungsi seperti yang diharapkan.


Ubuntu
  1. Tidak Dapat Menonaktifkan Xinput?

  2. Apa yang dapat menyebabkan make hang saat mengompilasi pada banyak core?

  3. Cara menyampaikan beberapa argumen untuk dieksekusi dengan skrip .sh

  1. Kelola KVM (QEMU) dengan Kimchi (antarmuka web)

  2. Cara Menginstal KVM di CentOS 8 Linux

  3. Perbedaan Antara Qemu dan KVM

  1. Mengapa OpenStack melaporkan tipe Hypervisor sebagai QEMU ketika libvirt_type adalah KVM?

  2. Cara meneruskan output perintah sebagai beberapa argumen ke perintah lain

  3. Berapa banyak inti yang dapat ditangani oleh kernel Linux?