我有一个 Web 应用程序服务器,以 KVM 客户机身份运行 Ubuntu 12.04。
我发现,即使在高负载下,也只有一个核心被广泛使用。这不是应用程序不是多线程的问题。我们正在这些服务器上运行,nginx
并且php-fpm
我在 Cent-OS 上测试过,这些应用程序在高负载下确实在所有核心上运行。以下是具体情况:
/usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 20480 -smp 6,插槽=6,核心=1,线程=1 -name db1 -uuid 02af7f56-16ea-76cc-81f8-b5fa24993843d6 -nodefconfig -nodefaults -chardev 套接字,id = charmonitor,路径 = / var / lib / libvirt / qemu / db1.monitor,服务器,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/dev /vg0/db1,如果=无,id=drive-virtio-disk0,格式=原始,缓存=无-设备virtio- blk-pci,总线=pci.0,地址=0x4,驱动器=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -驱动器文件=/dev/vg0/db1_vol2,如果=none,id=drive-virtio-disk1,格式=raw,缓存=none -设备 virtio- blk-pci,总线=pci.0,地址=0x6,驱动器=驱动器-virtio-disk1,id=virtio-disk1-驱动器文件=/dev /vg1/db1_mysql,if=none,id=drive-virtio-disk2,format=raw,cache=none -device virtio- blk-pci,总线=pci.0,地址=0x7,驱动器=驱动器-virtio-disk2,id=virtio-disk2-驱动器 如果 = 无,媒体 = cdrom,id = drive-ide0-1-0,只读 = on,格式 = raw -device ide 驱动器,总线=ide.1,单元=0,驱动器=驱动器-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
这是为什么?我知道调度程序会尽力保持运行速度,但我在基于 RHEL 的服务器中没有看到这种行为。