GNU/Linux >> Znalost Linux >  >> Ubuntu

Qemu / Kvm:Nelze předat hostům více jader / CPU?

zdá se, že nejsem schopen předat hostům KVM více jader / CPU. Ať dělám cokoli, hosté hlásí pouze jeden CPU / jádro.

Hostitelský hardware:Xeon E5620 na základní desce Supermicro
Hostitelský software:Ubuntu 11.04 (Natty) 64-Bit

Zkompiloval jsem své vlastní (novější) jádro 2.6.37 pro Nattyho (protože jsem měl určité problémy s průchodem PCI, pokud jsem použil standardní jádro). Ostatní části distribuce jsem neměnil; zejména používám původní balíček qemu-kvm, který byl součástí.

Vzhledem k tomu, že virt-manager a související nástroje selhaly s nesrozumitelnými chybovými zprávami při pokusu o úplně první základní akci, spouštím virtuální stroje ručně namísto použití jakýchkoli obalů / manažerů. Používám příkazy jako je tento:

/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

Také jsem vyzkoušel -cpu host a -smp cores=1,threads=1,sockets=2 (mimo jiné).

Používám několik hostů Windows (Server 2003 R2 (32 Bit), Server 2008 R2 (64 Bit), Windows XP Pro (32 Bit), Windows 7 Pro (64 Bit)) a Linux hostů (Ubuntu 11.10 (64 Bit), Debian squeeze (32 Bit)), ale všechny hlásí pouze jeden procesor / jádro, bez ohledu na nastavení -smp; kromě toho nastavení funguje spolehlivě.

Nyní opravdu potřebuji další výkon procesoru v jednom z hostů, tak mě zajímá, co dělám špatně. Samozřejmě jsem četl o změně HAL ve Windows a vyzkoušel jsem několik věcí (jednoprocesorová HAL vs. víceprocesorová HAL), ale bez úspěchu. Poté, co jsem věnoval celý den snaze vyřešit problém, teď nevím, co jiného bych mohl dělat.

Má někdo tušení, co se děje? Existuje nějaká možnost kompilace jádra (2.6.37), která může být zodpovědná za nemožnost předat hostům více jader? Musí verze qemu-kvm odpovídat verzi jádra (nezobrazí se žádné varovné zprávy, když spustím hosty, jak je uvedeno výše)?

Děkuji mnohokrát,

Binarus

Aktualizace č. 1:

Jak se očekávalo, linuxový host také neukazuje více než jeden CPU / jádro:

[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]:~#

Tento výstup byl vytvořen na hostu s byl spuštěn pomocí -cpu host a -smp 2.

Související:Gitkraken se nenainstaluje?

Přijatá odpověď:

Tak se stydím:

Uprostřed příkazového řádku výše je již možnost „-smp 1“. Nepamatoval jsem si to a během testů jsem to neviděl. Při odstraňování to funguje podle očekávání.


Ubuntu
  1. Správa KVM (QEMU) pomocí Kimchi (webové rozhraní)

  2. Jak nainstalovat KVM na CentOS 8 Linux

  3. Nelze zakázat Xinput?

  1. Proč OpenStack hlásí typ Hypervisoru jako QEMU, když libvirt_type je KVM?

  2. Rozdíl mezi Qemu a KVM

  3. Jak předat výstup příkazu jako více argumentů jinému příkazu

  1. Kolik jader zvládne linuxové jádro?

  2. Co by mohlo způsobit zasekávání make při kompilaci na více jádrech?

  3. Jak předat více argumentů ke spuštění pomocí skriptu .sh