Интерпретация вывода cat / proc / cpuinfo


22

Как интерпретировать информацию, напечатанную следующей командой в Linux

cat /proc/cpuinfo

На моем ноутбуке я получаю следующий вывод:

[gaurish108: ~] $ cat / proc / cpuinfo (02-09 15:34)
процессор: 0
vendor_id: GenuineIntel
семья процессора: 6
модель: 37
Название модели: Intel (R) Core (TM) i3 CPU M 330 @ 2,13 ГГц
степпинг: 2
процессор МГц: 933.000
размер кеша: 3072 КБ
физический идентификатор: 0
братьев и сестер: 4
основной идентификатор: 0
процессорных ядер: 2
апицид: 0
начальная апицид: 0
fdiv_bug: нет
hlt_bug: нет
f00f_bug: нет
coma_bug: нет
фпу: да
fpu_exception: да
Уровень процессора: 11
wp: да
флаги: FPU VME-де-псевдоэфедрин TSC MSR пае MCE CX8 APIC Сентябрь MTRR PGE MCA CMOV погладить pse36 clflush д.т.н. ACPI MMX fxsr ссе sse2 сс ХТЫ тм РОВ пх rdtscp ого constant_tsc arch_perfmon УИБ БПС xtopology nonstop_tsc aperfmperf ПНИ dtes64 монитор ds_cpl VMX Эст tm2 SSSE3 CX16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256,49
размер clflush: 64
cache_alignment: 64
размеры адресов: физические 36 бит, виртуальные 48 бит
управление энергопотреблением:

процессор: 1
vendor_id: GenuineIntel
семья процессора: 6
модель: 37
Название модели: Intel (R) Core (TM) i3 CPU M 330 @ 2,13 ГГц
степпинг: 2
процессор МГц: 933.000
размер кеша: 3072 КБ
физический идентификатор: 0
братьев и сестер: 4
основной идентификатор: 0
процессорных ядер: 2
апицид: 1
начальная апицид: 1
fdiv_bug: нет
hlt_bug: нет
f00f_bug: нет
coma_bug: нет
фпу: да
fpu_exception: да
Уровень процессора: 11
wp: да
флаги: FPU VME-де-псевдоэфедрин TSC MSR пае MCE CX8 APIC Сентябрь MTRR PGE MCA CMOV погладить pse36 clflush д.т.н. ACPI MMX fxsr ссе sse2 сс ХТЫ тм РОВ пх rdtscp ого constant_tsc arch_perfmon УИБ БПС xtopology nonstop_tsc aperfmperf ПНИ dtes64 монитор ds_cpl VMX Эст tm2 SSSE3 CX16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256,40
размер clflush: 64
cache_alignment: 64
размеры адресов: физические 36 бит, виртуальные 48 бит
управление энергопотреблением:

процессор: 2
vendor_id: GenuineIntel
семья процессора: 6
модель: 37
Название модели: Intel (R) Core (TM) i3 CPU M 330 @ 2,13 ГГц
степпинг: 2
процессор МГц: 933.000
размер кеша: 3072 КБ
физический идентификатор: 0
братьев и сестер: 4
основной идентификатор: 2
процессорных ядер: 2
апицид: 4
начальная апицид: 4
fdiv_bug: нет
hlt_bug: нет
f00f_bug: нет
coma_bug: нет
фпу: да
fpu_exception: да
Уровень процессора: 11
wp: да
флаги: FPU VME-де-псевдоэфедрин TSC MSR пае MCE CX8 APIC Сентябрь MTRR PGE MCA CMOV погладить pse36 clflush д.т.н. ACPI MMX fxsr ссе sse2 сс ХТЫ тм РОВ пх rdtscp ого constant_tsc arch_perfmon УИБ БПС xtopology nonstop_tsc aperfmperf ПНИ dtes64 монитор ds_cpl VMX Эст tm2 SSSE3 CX16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256,43
размер clflush: 64
cache_alignment: 64
размеры адресов: физические 36 бит, виртуальные 48 бит
управление энергопотреблением:

процессор: 3
vendor_id: GenuineIntel
семья процессора: 6
модель: 37
Название модели: Intel (R) Core (TM) i3 CPU M 330 @ 2,13 ГГц
степпинг: 2
процессор МГц: 933.000
размер кеша: 3072 КБ
физический идентификатор: 0
братьев и сестер: 4
основной идентификатор: 2
процессорных ядер: 2
апицид: 5
начальная апицид: 5
fdiv_bug: нет
hlt_bug: нет
f00f_bug: нет
coma_bug: нет
фпу: да
fpu_exception: да
Уровень процессора: 11
wp: да
флаги: FPU VME-де-псевдоэфедрин TSC MSR пае MCE CX8 APIC Сентябрь MTRR PGE MCA CMOV погладить pse36 clflush д.т.н. ACPI MMX fxsr ссе sse2 сс ХТЫ тм РОВ пх rdtscp ого constant_tsc arch_perfmon УИБ БПС xtopology nonstop_tsc aperfmperf ПНИ dtes64 монитор ds_cpl VMX Эст tm2 SSSE3 CX16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips: 4256,42
размер clflush: 64
cache_alignment: 64
размеры адресов: физические 36 бит, виртуальные 48 бит
управление энергопотреблением:

Теперь говорится, что в системе 4 процессора. Существует также поле внутри информации каждого поля процессора, которое говорит, что число ядер ядра равно 2.

Означает ли это, что в моей системе 4 процессора Intel i3? Что на самом деле означает поле процессора?

Ответы:


17

Записи являются логическими процессорами; объекты, используемые ядром внутри, не обязательно привязаны к физическим устройствам. (Обратите внимание, что все они имеют одинаковое physical id.)

Другими словами, они представляют четыре ядра одного процессора Intel i3.

Кроме того, как отмечается в этом посте (который не является в точности дубликатом, но тесно связан), эти ядра также логичны - центральный процессор имеет два физических ядра, но поддерживает гиперпоточность.

Обратите внимание, что некоторые процессоры Intel (включая i5) используют гиперпоточность - систему, в которой один процессор имеет (например) 2 физических ядра, но будет иметь 4 логических ядра, что позволит операционной системе обрабатывать процессор как имеющий больше ядер, чем на самом деле делает.


Если в вашей системе есть lscpuинструмент (часть недавнего util-linux ), он выведет более понятную для пользователя сводку установленных процессоров, например:

Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1

Чем больше размер физического адреса, тем лучше или короче, тем лучше?
Цянь Чен

@ElgsQianChen: как правило, чем дольше, тем лучше. Посмотрите, как мир перешел с 8-разрядных ЦП на 16-разрядные и 32-разрядные, а затем на 64-разрядные. Этот счетчик битов является «размером адреса».
Гравитация

Кажется, я вижу различные физические размеры, такие как 36 бит, 40 бит и 46 бит. Кажется, что виртуальный размер всегда 48 бит. Итак, почему существуют разные физические размеры, и что они означают, когда они короче или длиннее?
Цянь Чен

9

Вот встроенный awk-скрипт для симпатичной печати и извлечения соответствующих данных /proc/cpuinfo:

cat /proc/cpuinfo | \
awk -v FS=':' '                                       \
  /^physical id/ { if(nb_cpu<$2)  { nb_cpu=$2 } }     \
  /^cpu cores/   { if(nb_cores<$2){ nb_cores=$2 } }   \
  /^processor/   { if(nb_units<$2){ nb_units=$2 } }   \
  /^model name/  { model=$2 }                         \
                                                      \
  END{                                                \
   nb_cpu=(nb_cpu+1);                                 \
   nb_units=(nb_units+1);                             \
                                                      \
   print "CPU model:",model;                          \
   print nb_cpu,"CPU,",nb_cores,"physical cores per CPU, total",nb_units,"logical CPU units" \
 }'

Выход для высокопроизводительного сервера:

CPU model:  Intel(R) Xeon(R) CPU           X5650  @ 2.67GHz
2 CPU,  6 physical cores per CPU, total 24 logical CPU units

Выход для ноутбука Core i5:

CPU model:  Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
1 CPU,  2 physical cores per CPU, total 4 logical CPU units

0

Это просто означает:

  1. На самом деле в вашей системе установлен один четырехъядерный процессор i3.

  2. Этот «один четырехъядерный процессор i3» содержит четыре логических ядра.


2
На самом деле это двухъядерный процессор i3 с четырьмя логическими ядрами.
Дэвид Шварц
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.