Как узнать, сколько процессоров (vcpus) есть в моей системе XEN?
Если я начну top
или заглянуть в /proc/cpuinfo
Я вижу только два процессора. Если я просматриваю значения, отображаемые для моей системы, с virt-manager
, этот инструмент показывает мне 32 vcpus (это значение, я думаю, является правильным).
Мне не удалось (пока) найти правильное значение на уровне сценария на гипервизоре (32). Я смотрел в /proc/cpuinfo
а также /sys/devices/system/cpu/
и другие вещи, о которых я мог думать, но нигде не нашел этой ценности. Также команды оболочки как xen
или же xm
Я внимательно изучил, но не нашел способа отобразить искомое значение.
Кто-нибудь знает, как я могу узнать, сколько vcpus предоставляет моя система XEN?
РЕДАКТИРОВАТЬ: 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:
2 ответа
Я нашел способ сейчас:
IFS=: read _ nr_cpus < <(xm info | grep ^nr_cpus)
echo "$nr_cpus"
Это будет (наконец) печать
32
в моей системе.
Это хороший способ:
cat /proc/cpuinfo | grep "core id"
Это пример вывода:
core id : 0
core id : 1
core id : 0
core id : 1
В моем случае система двухъядерная, у меня есть только core-id 0 и core-id 1.