服务器规格:

服务器规格:

我需要帮助解决 libvirt(?) 问题。

服务器规格:

  • ProLiant DL165 G7
  • 2 个 AMD Opteron(tm) 处理器 6128

系统:

  • Debian GNU/Linux 测试(wheezy)
  • 3.2.0-3-amd64
  • libvirt 0.9.12-5
  • kvm 1:1.1.2+dfsg-2

$ grep 处理器 /proc/cpuinfo | wc -l

16

$ virsh 节点信息

setlocale: No such file or directory
CPU model:           x86_64
CPU(s):              16
CPU frequency:       800 MHz
CPU socket(s):       2
Core(s) per socket:  4
Thread(s) per core:  1
NUMA cell(s):        1
Memory size:         66114200 KiB

$ virsh 功能

..
<topology>
      <cells num='4'>
        <cell id='0'>
          <cpus num='4'>
            <cpu id='0'/>
            <cpu id='1'/>
            <cpu id='2'/>
            <cpu id='3'/>
          </cpus>
        </cell>
        <cell id='1'>
          <cpus num='4'>
            <cpu id='4'/>
            <cpu id='5'/>
            <cpu id='6'/>
            <cpu id='7'/>
          </cpus>
        </cell>
        <cell id='2'>
          <cpus num='4'>
            <cpu id='12'/>
            <cpu id='13'/>
            <cpu id='14'/>
            <cpu id='15'/>
          </cpus>
        </cell>
        <cell id='3'>
          <cpus num='4'>
            <cpu id='8'/>
            <cpu id='9'/>
            <cpu id='10'/>
            <cpu id='11'/>
          </cpus>
        </cell>
      </cells>
    </topology>
..

$ virsh vcpupin vm 0 13,12,11,10,9,8,7,6,5

error: Physical CPU 13 doesn't exist.
error: cpulist: Invalid format.

问题?

为什么我的 VM 客户机仅使用前 8 个 CPU,而接下来的 8 个处于空闲状态?

$ for host in virsh list | awk '{print $2}'; do virsh vcpuinfo $host; done | grep ^CPU: | sort | uniq

CPU:            0
CPU:            1
CPU:            2
CPU:            3
CPU:            4
CPU:            5
CPU:            6
CPU:            7

有什么想法可以改变它吗?

答案1

这是解决此问题的快速方法:

for pid in `ps aux | grep '/usr/bin/kvm' | grep -v grep | awk '{print $2}'`; do taskset -p -c 0-15 $pid; done

但我决定将操作系统改为 Ubuntu,而且它运行得很好。

相关内容