Как узнать, сколько процессоров (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.

Другие вопросы по тегам