O convidado do Ubuntu KVM usa apenas 1 dos N núcleos - mesmo sob carga

1

Eu tenho um servidor de aplicativos da web executando o Ubuntu 12.04 como convidado KVM.

O que eu vi é que, mesmo sob carga pesada, apenas um núcleo está sendo usado extensivamente. Não é um problema do aplicativo não ser multi-threaded. Estamos executando nginx e php-fpm nesses servidores e eu testei no Cent-OS que esses aplicativos são executados em todos os núcleos quando estão muito carregados. Aqui estão os detalhes:

/usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 20480 -smp 6,sockets=6,cores=1,threads=1 -name 
db1 -uuid 02af7f56-16ea-76cc-81f8-b5fa24993843d6 -nodefconfig -nodefaults -chardev 
socket,id=charmonitor,path=/var/lib/libvirt/qemu/db1.monitor,server,nowait -mon 
chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/dev
/vg0/db1,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-
blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive file=/dev/vg0/db1_vol2,if=none,id=drive-virtio-disk1,format=raw,cache=none -device virtio-
blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk1,id=virtio-disk1 -drive file=/dev
/vg1/db1_mysql,if=none,id=drive-virtio-disk2,format=raw,cache=none -device virtio-
blk-pci,bus=pci.0,addr=0x7,drive=drive-virtio-disk2,id=virtio-disk2 -drive 
if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device 
ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev 
tap,fd=18,id=hostnet0,vhost=on,vhostfd=19 -device virtio-
net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b5:51:1e,bus=pci.0,addr=0x3 -chardev 
pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 
127.0.0.1:0 -k en-us -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

Por que isso? Eu entendo que o agendador fará o melhor para manter as coisas funcionando rapidamente, mas eu não vejo esse comportamento em servidores baseados em RHEL.

    
por cod3fr3ak 28.11.2014 / 10:51

0 respostas