我需要帮助libvirt(?)的问题。
$ grep processor / proc / cpuinfo | wc -l
16
$ virsh nodeinfo
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
$ virshfunction
.. <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 guest虚拟机只使用前8个CPU,接下来的8个空闲?
$在virsh list | awk '{print $2}'主机 virsh list | awk '{print $2}' ; 做virsh vcpuinfo $主机; 完成| grep ^ CPU:| sorting| uniq的
CPU: 0 CPU: 1 CPU: 2 CPU: 3 CPU: 4 CPU: 5 CPU: 6 CPU: 7
任何想法如何改变?
这是这个问题的快速解决方法:
for pid in `ps aux | grep '/usr/bin/kvm' | grep -v grep | awk '{print $2}'`; do taskset -p -c 0-15 $pid; done
但是我决定把操作系统改成Ubuntu,它就像一个魅力。