如果我启动top
或查看/proc/cpuinfo
,我只会看到两个CPU。如果我使用virt-manager
查看为我的系统显示的值,该工具会显示32个vcpus(我认为这是正确的值)。
我(在)虚拟机管理程序的脚本级别上找不到正确的值(32)。我一直在研究/proc/cpuinfo
和/sys/devices/system/cpu/
以及我能想到的其他事情,但发现它没有任何价值。另外shell命令如xen
或xm
我仔细检查过,但发现无法显示我正在寻找的值。
有谁知道我怎样才能知道我的XEN系统提供了多少vcpus?
编辑:lscpu
给了我:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 2
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 45
Stepping: 7
CPU MHz: 2900.086
BogoMIPS: 5800.17
Hypervisor vendor: Xen
Virtualization type: none
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0,1
所以,这也没有在任何地方显示“32”。
/proc/cpuinfo
的内容:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2900.086
cache size : 20480 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat pln pts dtherm
bogomips : 5800.17
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
stepping : 7
microcode : 0x70d
cpu MHz : 2900.086
cache size : 20480 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc pni pclmulqdq est ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ida arat pln pts dtherm
bogomips : 5800.17
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
答案 0 :(得分:3)
我现在找到了一条路:
IFS=: read _ nr_cpus < <(xm info | grep ^nr_cpus)
echo "$nr_cpus"
这将(最终)打印
32
在我的系统上。
答案 1 :(得分:1)
这是一个很好的方式:
cat /proc/cpuinfo | grep "core id"
这是输出的一个例子:
core id : 0
core id : 1
core id : 0
core id : 1
就我而言,系统是双核的,我只有core-id 0和core-id 1。