На нашем сервере SPARC работает Sun Solaris 10; Я хотел бы узнать фактическое количество процессоров и количество ядер для каждого процессора.
Вывод psrinfo и prtdiag неоднозначен:
$psrinfo -v
Status of virtual processor 0 as of: dd/mm/yyyy hh:mm:ss
on-line since dd/mm/yyyy hh:mm:ss.
The sparcv9 processor operates at 1592 MHz,
and has a sparcv9 floating point processor.
Status of virtual processor 1 as of: dd/mm/yyyy hh:mm:ss
on-line since dd/mm/yyyy hh:mm:ss.
The sparcv9 processor operates at 1592 MHz,
and has a sparcv9 floating point processor.
Status of virtual processor 2 as of: dd/mm/yyyy hh:mm:ss
on-line since dd/mm/yyyy hh:mm:ss.
The sparcv9 processor operates at 1592 MHz,
and has a sparcv9 floating point processor.
Status of virtual processor 3 as of: dd/mm/yyyy hh:mm:ss
on-line since dd/mm/yyyy hh:mm:ss.
The sparcv9 processor operates at 1592 MHz,
and has a sparcv9 floating point processor.
_
$prtdiag -v
System Configuration: Sun Microsystems sun4u Sun Fire V445
System clock frequency: 199 MHZ
Memory size: 32GB
==================================== CPUs ====================================
E$ CPU CPU
CPU Freq Size Implementation Mask Status Location
--- -------- ---------- --------------------- ----- ------ --------
0 1592 MHz 1MB SUNW,UltraSPARC-IIIi 3.4 on-line MB/C0/P0
1 1592 MHz 1MB SUNW,UltraSPARC-IIIi 3.4 on-line MB/C1/P0
2 1592 MHz 1MB SUNW,UltraSPARC-IIIi 3.4 on-line MB/C2/P0
3 1592 MHz 1MB SUNW,UltraSPARC-IIIi 3.4 on-line MB/C3/P0
_
$more /etc/release
Solaris 10 8/07 s10s_u4wos_12b SPARC
Copyright 2007 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 16 August 2007
Patch Cluster - EIS 29/01/08(v3.1.5)
Какие еще методы я могу использовать?
ИЗМЕНЕНО:
Похоже, у нас 4-х процессорная система по одному ядру в каждой:
$psrinfo -p
4
_
$psrinfo -pv
The physical processor has 1 virtual processor (0)
UltraSPARC-IIIi (portid 0 impl 0x16 ver 0x34 clock 1592 MHz)
The physical processor has 1 virtual processor (1)
UltraSPARC-IIIi (portid 1 impl 0x16 ver 0x34 clock 1592 MHz)
The physical processor has 1 virtual processor (2)
UltraSPARC-IIIi (portid 2 impl 0x16 ver 0x34 clock 1592 MHz)
The physical processor has 1 virtual processor (3)
UltraSPARC-IIIi (portid 3 impl 0x16 ver 0x34 clock 1592 MHz)
Команда psrinfo -pv
это команда, которую вы ищете. Он дает вам количество физических процессоров плюс количество виртуальных процессоров на физический процессор.
Например, на V880 это выглядит так:
The physical processor has 1 virtual processor (0)
UltraSPARC-III+ (portid 0 impl 0x15 ver 0x23 clock 900 MHz)
The physical processor has 1 virtual processor (1)
UltraSPARC-III+ (portid 1 impl 0x15 ver 0x23 clock 900 MHz)
The physical processor has 1 virtual processor (2)
UltraSPARC-III+ (portid 2 impl 0x15 ver 0x23 clock 900 MHz)
The physical processor has 1 virtual processor (3)
UltraSPARC-III+ (portid 3 impl 0x15 ver 0x23 clock 900 MHz)
The physical processor has 1 virtual processor (4)
UltraSPARC-III+ (portid 4 impl 0x15 ver 0x23 clock 900 MHz)
The physical processor has 1 virtual processor (5)
UltraSPARC-III+ (portid 5 impl 0x15 ver 0x23 clock 900 MHz)
The physical processor has 1 virtual processor (6)
UltraSPARC-III+ (portid 6 impl 0x15 ver 0x23 clock 900 MHz)
The physical processor has 1 virtual processor (7)
UltraSPARC-III+ (portid 7 impl 0x15 ver 0x23 clock 900 MHz)
Надеюсь, это поможет. :-)
РЕДАКТИРОВАТЬ
Например, в многоядерной машине этот вывод
The physical processor has 4 virtual processors (0-3)
SPARC64-VI (portid 1024 impl 0x6 ver 0x93 clock 2150 MHz)
The physical processor has 4 virtual processors (8-11)
SPARC64-VI (portid 1032 impl 0x6 ver 0x93 clock 2150 MHz)
Вы можете проверить количество физических процессоров с помощью команды psrinfo -p.
root @ sunt2000: / # uname -a SunOS sunt2000 5.10 Generic_139555-08 sun4v sparc SUNW, Sun-Fire-T200
Проверка количества физических процессоров
корень @ sunt2000: / # psrinfo
-p 1
Подробный вывод той же команды выше.
корень @ sunt2000: / # psrinfo -vp
Физический процессор имеет 32 виртуальных процессора (0-31)
UltraSPARC-T1 (chipid 0, частота 1200 МГц)
Ниже представлен одноядерный Sun Fire V445 с UltraSPARC IIIi.
корень @ sunv445: / # uname -a
SunOS sunv445 5.10 Generic_120011-14 sun4u sparc SUNW, Sun-Fire-V445
корень @ sunv445: / # psrinfo
0 на сайте с 05.11.2008 04:27:24
1 на связи с 05.11.2008 04:27:24
2 на связи с 05.11.2008 04:27:16
Он имеет 3 физических процессора.
корень @ sunv445: / # psrinfo -p
3
Я считаю, что только UltraSPARC IV являются двухъядерными. Нет проблем с IIIi
корень @ sunv445: / # psrinfo -vp
Физический процессор имеет 1 виртуальный процессор (0)
UltraSPARC-IIIi (portid 0 impl 0x16 ver 0x34 clock 1592 MHz)
Физический процессор имеет 1 виртуальный процессор (1)
UltraSPARC-IIIi (порт 1 impl 0x16 ver 0x34, частота 1592 МГц)
Физический процессор имеет 1 виртуальный процессор (2)
UltraSPARC-IIIi (порт 2 impl 0x16 ver 0x34, частота 1592 МГц)
Общее количество ядер в системе: «kstat cpu_info | grep core_id | uniq | wc -l» Разделите общее количество ядер на результат «psrinfo -p», чтобы получить количество ядер на физический процессор.
Информация, сообщаемая «kstat cpu_info», может быть использована для определения количества имеющихся у вас процессоров (сокетов), количества ядер на процессор и количества потоков CMP на ядро.
Если вас не волнует различие между ядрами и потоками CMP, достаточно "psrinfo -pv".
Всегда есть
dmesg
Я подозреваю, что ваш prtdiag -v довольно хорошо перечисляет ядра в поле Location. Похоже, у вас один процессор, четырехъядерный?
Не уверен, что это поможет, но двухпроцессорная коробка UltraSPARC-IIIi выглядит так:
0 1280 MHz 1MB SUNW,UltraSPARC-IIIi 2.4 on-line MB/CPU0
1 1280 MHz 1MB SUNW,UltraSPARC-IIIi 2.4 on-line MB/CPU1
Все неправильно ... Вы не можете получить количество ядер, просто используя командную строку (на сегодняшний день). Ничто там не скажет вам это напрямую, подумал, что вы можете сделать некоторую математику, чтобы дать вам только представление, и основываясь на том, сколько лет вашей коробке.
Вы должны знать приобретенные вами ядра ЦП и, посмотрев на характеристики оборудования, оттуда вы сможете вычислить количество потоков на каждое ядро. Теперь Sun поставляет 8-ядерный процессор, вы даже можете получить такое же количество виртуальных CPUS, если у вас больше Физического ЦП на четырехъядерном по сравнению с меньшим Физическим ЦП в 8-ядерной системе.