Номер ЦП в «Об этом компьютере» и /cpu/cpuinfo отличается

Номер ЦП в «Об этом компьютере» и /cpu/cpuinfo отличается

Вопрос:

Я хотел бы спросить, что может быть причиной того, что есть две разные информации о количестве процессоров. Смотрите отчеты ниже.

Системный диалог:

Если открыть вкладку «Параметры системы»/«Сведения» (такую ​​же, как «Выход из системы» и «Об этом компьютере»), я получаю следующее сообщение:

Процессор: Intel® Xeon(R) CPU E5-2680 v3 @ 2.50GHz × 16


CLI: cpuinfo (1)

Тем не менее, используя команду командной строки, я получаю следующее:

$ cat /proc/cpuinfo | grep processor | wc -l
24

Я склонен верить отчету командной строки, но что может быть причиной их различий?

FIY: Системный монитор также показывает статистику для 24 ядер


CLI: cpuinfo (2)

Как и было предложено в комментариях, я также запустил следующую командную строку

$ cat /proc/cpuinfo |grep 'core id'|sort|uniq|wc -l
12

Так что теперь у меня даже есть третий результат! Это имеет смысл, так как в машине может быть 12 ядер с 2 процессорами - но как возможно, что системный диалог показывает 16?

решение1

Я думаю, что ядра ЦП лучше всего объяснять в контексте симметричной многопроцессорной обработки (Symmetric MultiProcessing).СМП).

введите описание изображения здесь

Intel Core 2 ДуоДиаграмма, показывающая физическую компоновку. введите описание изображения здесь


Информация о ЦП системы хранится в /procкаталоге. Она может быть аккуратно представлена ​​программным lscpuобеспечением, как показано ниже. Я привожу три примера для сравнения: настольный компьютер с 2 ядрами ЦП, сервер с 48 и Raspberry Pi с 4.

Настольный компьютер
пользователь@имя_хоста:~$ lscpu
Архитектура: x86_64
Режим(ы) работы ЦП: 32-битный, 64-битный
Порядок байтов: прямой порядок байтов
Процессор(ы): 2
Список процессоров в сети: 0,1
Поток(и) на ядро: 1
Ядра на сокет: 2
Розетка(ы): 1
NUMA-узел(ы): 1
Идентификатор поставщика: GenuineIntel
Семейство ЦП: 6
Модель: 60
Шаг: 3
Частота процессора: 800.000 МГц
BogoMIPS: 5586.94
Виртуализация: VT-x
Кэш L1d: 32K
Кэш L1i: 32 КБ
Кэш L2: 256 КБ
Кэш L3: 2048 КБ
Узел NUMA0 ЦП: 0,1

Сервер
пользователь@имя_хоста% lscpu
Архитектура: x86_64
Режим(ы) работы ЦП: 32-битный, 64-битный
Порядок байтов: прямой порядок байтов
Процессор(ы): 48
Список ЦП в сети: 0-47
Поток(и) на ядро: 2
Ядра на сокет: 12
Розетка(ы): 2
NUMA-узел(ы): 1
Идентификатор поставщика: GenuineIntel
Семейство ЦП: 6
Модель: 62
Шаг: 4
Процессор МГц: 1799.724
BogoMIPS: 3600.09
Виртуализация: VT-x
Кэш L1d: 32K
Кэш L1i: 32 КБ
Кэш L2: 256 КБ
Кэш L3: 30720 КБ
Узел NUMA0 ЦП: 0-47

Raspberry Pi
jeff@clear-pi:~ $ lscpu
Архитектура: armv7l
Порядок байтов: прямой порядок байтов
Процессор(ы): 4
Список процессоров, работающих в сети: 0-3
Поток(и) на ядро: 1
Ядра на сокет: 4
Розетка(ы): 1
Название модели: Процессор ARMv7 rev 5 (v7l)
Макс. частота ЦП: 900.0000 МГц
Мин. частота ЦП: 600.0000 МГц

Общее количество серверов — 48, но чтобы получить это значение, нужно умножить 3 числа:2*12*2= 48. При таком сравнении очевидны различия в расположении процессоров у разных производителей.

Рабочий стол
[Потоки на ядро: 1] * [Ядра на сокет: 1] * [Сокет(ы): 1] = 2

Сервер
[Потоков на ядро: 2] * [Ядер на сокет: 12] * [Сокет(ы): 2] = 48

Raspberry Pi
[Потоки на ядро: 1] * [Ядра на сокет: 4] * [Сокет(ы): 1] = 4  

lshwсодержит больше информации о системе, но здесь она не так полезна.

Настольный компьютер
пользователь@имя_хоста:~$ sudo lshw
     *-Процессор
          описание: ЦП
          продукт: Intel(R) Celeron(R) CPU G1840 @ 2.80GHz
          Поставщик: Intel Corp.
          физический идентификатор: 9
          информация о шине: cpu@0
          версия: Intel(R) Celeron(R) CPU G1840 @ 2.80GHz
          слот: СОКЕТ 0
          размер: 2800МГц
          емкость: 3800МГц
          ширина: 64 бита
          тактовая частота: 100 МГц

Сервер
пользователь@имя_хоста% sudo lshw
     *-процессор:0
          описание: ЦП
          продукт: Intel(R) Xeon(R) CPU E5-2651 v2 @ 1.80GHz
          Поставщик: Intel Corp.
          физический идентификатор: 4
          информация о шине: cpu@0
          версия: Intel(R) Xeon(R) CPU E5-2651 v2 @ 1.80GHz
          слот: СОКЕТ 0
          размер: 1800МГц
          емкость: 4ГГц
          ширина: 64 бита
          тактовая частота: 100 МГц

Raspberry Pi
пользователь@имя_хоста:~ $ sudo lshw
*-процессор:0
          описание: ЦП
          продукт: процессор
          физический идентификатор: 0
          информация о шине: cpu@0
          размер: 900МГц
          мощность: 900МГц
          возможности: cpufreq

Наконец, этот метод сработал у меня в нескольких различных операционных системах Linux/UNIX, где lscpu не был доступен. Это вариация того, что предлагалось в вопросе и комментариях, но я предпочитаю сокращенную команду и простой вывод.

user@hostname:~ $ grep -c ^processor /proc/cpuinfo
4

Ссылка:Как узнать количество ядер процессора, включая виртуальные?

Ссылка:https://stackoverflow.com/questions/6481005/how-to-obtain-the-number-of-cpus-cores-in-linux-from-the-command-line

Ссылка:https://stackoverflow.com/questions/19225859/разница-между-ядрами-и-процессором

Связанный контент