Как узнать количество ядер процессора linux
Перейти к содержимому

Как узнать количество ядер процессора linux

  • автор:

Как узнать количество ядер процессора в Linux

В настоящее время широко распространены многоядерные процессоры, включая двухъядерные процессоры (например, Intel Core Duo), четырехъядерные процессоры (например, Intel Core i5) и шестиядерные процессоры (например, AMD Phenom II X6). Кроме того, многие физические машины серверного уровня оснащены более чем одним процессором ЦП. Чтобы узнать количество ЦП и количество ядер на ЦП, вы можете обратиться к /proc/cpuinfo .

Пример /proc/cpuinfo сервера HP Proliant DL 380 G7 выглядит следующим образом. Сервер HP Proliant оснащен двумя процессорами Intel Xeon серии 5600.

processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 44 model name : Intel(R) Xeon(R) CPU E5620 @ 2.40GHz stepping : 2 cpu MHz : 2399.316 cache size : 12288 KB physical id : 0 siblings : 8 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr dca sse4_1 sse4_2 popcnt lahf_lm ida bogomips : 4802.28 clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: . . . .

Найдите количество физических процессоров

Следующая команда покажет количество физических процессоров ЦП на борту.

$ cat /proc/cpuinfo | grep "^physical id" | sort | uniq | wc -l

Найдите количество ядер на процессор

Если вы хотите узнать, сколько ядер имеет каждый физический процессор ЦП, используйте следующую команду.

$ cat /proc/cpuinfo | grep "^cpu cores" | uniq
cpu cores : 4

Найдите общее количество процессоров

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

$ cat /proc/cpuinfo | grep "^processor" | wc -l

Обратите внимание, что процессоры Intel Xeon серии 5600 поддерживают технологию Intel Hyper-Threading. Таким образом, каждое ядро отображается как два процессора в Linux. В этом случае они называются логическими процессорами. Таким образом, общее количество процессоров в Linux равно 16 (= 2 x 4 x 2).

Все права защищены. © Linux-Console.net • 2019-2024

Как узнать, сколько ядер в системах Linux

В этом руководстве объясняется, сколько ядер процессора имеется в системе Linux.

Прочитав эту статью, вы сможете проверить количество ядер с помощью различных доступных команд для всех систем Linux. Некоторые из объясненных команд также полезны в системах BSD.

Все инструкции, описанные в этом руководстве, снабжены скриншотами, чтобы их мог легко понять каждый пользователь, независимо от его уровня знаний. ”

Чтобы проверить количество процессоров в Linux, в этом руководстве рассматриваются следующие команды:

Команда lscpu

Команда lscpu считывает как файловую систему sysfs, так и файл /proc/cpuinfo. Выполняя lscpu, мы можем увидеть, сколько ядер в нашей системе Linux. Кроме того, эта команда показывает информацию о кэшах ЦП, модели и сокетах, а также другую полезную информацию.

В этом разделе объясняется, как использовать lscpu для вывода всей информации о ЦП и как конкретно отображать количество ядер ЦП.

Чтобы отобразить всю информацию о ЦП, запустите lscpu без дополнительных флагов, как показано на рисунке ниже.

Используя egrep, вы можете распечатать только количество ядер, как показано ниже.

lscpu | egrep ‘CPU\(s\)’

Команда lscpu наиболее широко используется для проверки информации о процессорах.

Проверьте количество ядер в Linux с помощью команды nproc

Еще одним простым в использовании инструментом для определения количества ядер в вашей системе Linux является команда nproc.

По умолчанию без флагов эта команда выводит номер ядра. Просто запустите команду, как показано ниже, чтобы она вернула количество ядер в системе.

Как видите, вывод предельно прост.

Команда hwinfo

Команда hwinfo Linux — еще один способ проверить количество ядер в системе.

Команда hwinfo по умолчанию не включена в системы Linux. Чтобы установить его в дистрибутивах Linux на основе Debian, используйте диспетчер пакетов apt, как показано на снимке экрана ниже.

sudo apt install hwinfo -y

После установки запустите команду hwinfo с флагами, показанными на следующем рисунке.

sudo hwinfo —cpu —short

Как видите, количество ядер возвращается построчно.

Команду hwinfo можно использовать для вывода информации обо всем оборудовании в системе.

Среди его функций вы можете экспортировать вывод в файл. Чтобы экспортировать количество ядер в файл, используйте следующий синтаксис.

Примечание. Имя экспортируемого файла произвольное; вы можете назвать его как хотите.

sudo hwinfo —short —cpu > cores.txt

Вы можете использовать команду less для чтения экспортированного файла.

less cores.txt

Как вы можете видеть ниже, содержимое файла такое же, как и в предыдущем выводе.

Чтобы отобразить всю системную информацию с помощью hwinfo, запустите его, как показано на следующем рисунке.

sudo hwinfo —all

Как показано на снимке экрана выше, команда hwinfo неудобна для пользователя при отображении информации обо всем оборудовании. Для более удобного просмотра используйте флаг –short, чтобы указать оборудование, которое вы хотите проверить, как показано в первом примере раздела hwinfo.

Определение количества процессоров в Linux с помощью команды Top

Команда Linux top (таблица процессов) — это диспетчер задач, который в реальном времени отображает использование ресурсов памяти и ЦП.

Эта команда печатает выполняющиеся процессы, а также потребление памяти и ЦП. При использовании с флагом -1 он также показывает количество ядер в системе.

Выполните следующую команду, чтобы запустить верхнюю утилиту, показывающую, сколько ядер присутствует в системе.

Как видите, команда top показывает 4 ядра: 0,1,2 и 3.

Кроме того, вы также можете запустить команду top без флагов, а затем нажать 1; результат тот же.

Проверка количества ядер с помощью команды htop

Команда htop аналогична ранее описанной команде top. Но у него есть некоторые преимущества по сравнению с верхним. Пользовательский интерфейс htop красочный, поэтому более удобен для пользователя, htop также поддерживает прокрутку,

В отличие от top, чтобы увидеть, сколько ядер в системе, вам не нужно использовать флаги. Запустите приведенную ниже команду, чтобы увидеть, как htop отображает информацию о процессоре.

Узнайте количество ядер в Linux, прочитав /proc/cpuinfo

Еще один способ узнать количество ядер в Linux — прочитать файл /proc/cpuinfo. Вы можете использовать разные команды для чтения этого файла, например, less, cat, more и т. д.

Чтобы прочитать файл cpuinfo, выполните команду, показанную ниже.

less / proc / cpuinfo

Количество ядер отображается в строке siblings, как показано белой стрелкой на снимке экрана ниже.

Вы также можете указать количество ядер, выполнив приведенную ниже команду.

less / proc / cpuinfo | grep processor | wc -l

Как вы можете видеть ниже, в системе 4 ядра.

Вот и все; со всеми командами, описанными выше, у вас есть разные способы проверить количество ядер.

Заключение

Как показано в этом руководстве, в Linux существует множество способов проверить количество ядер в системе. Все методы просты в применении любым пользователем, независимо от уровня знаний. Приведенные выше команды универсальны и доступны для всех дистрибутивов Linux, даже если они не установлены по умолчанию в системе. Изучение количества ядер важно, например, при назначении процессорных ресурсов виртуальным машинам. Каждый пользователь Linux должен знать, как собирать информацию об оборудовании.

Спасибо, что прочитали это руководство, в котором объясняется, как узнать количество ядер в системе. Продолжайте следить за LinuxHint, чтобы получать больше профессиональных руководств и советов по Linux.

Все права защищены. © Linux-Console.net • 2019-2024

4 способа найти ядра процессора в Linux

Ядро ЦП, или мы называем их ЦП. Процессоры — это те, кто запускает машинный код. Несколько ядер в системе отвечают за выполнение нескольких программных инструкций одновременно. Некоторые из систем содержат двухъядерные, некоторые четырехъядерные (4 ядра), и даже последнее поколение имеет 18 ядер. При работе с системой необходимо иметь информацию о количестве ядер. Давайте узнаем, как проверить количество ядер в системе Linux:

Как найти ядра процессора в Linux

Системы Linux предоставляют несколько способов получить детальное представление о процессоре и его ядрах. В этой статье будут рассмотрены четыре основных и самых простых способа получить его.

  • Использование команды lscpu
  • Чтение proc/cpuinfo
  • Использование команды top/htop

1. Найдите ядра ЦП в Linux с помощью команды lscpu

Команда lscpu — одна из самых простых команд в системе Linux для получения полной информации об архитектуре процессора.

Что нам нужно сделать, так это просто ввести «lscpu» в терминале:

2: Найдите ядра процессора в Linux через файл /proc/cpuinfo

Когда мы запускаем команду «lscpu», она извлекает информацию из sysfs и /proc/cpuinfo. Итак, хорошо получить все детали напрямую, выполнив эту команду на терминале:

$ cat / proc / cpuinfo

3. Найдите ядра ЦП в Linux с помощью команды top/htop

Команда top используется для отчета об активности процессора в системах Linux. Он отображает все задачи ядра, запущенные процессы Linux и все системные ресурсы. Команда htop является одной из итераций команды top.

Введите «top» в командной строке, чтобы получить полное представление о системе:

После выполнения вышеуказанной команды нажмите 1:

Вы также можете использовать команду «htop», но она не предустановлена в системе Linux Mint 21. Для этого сначала установите его с помощью указанной команды:

$ sudo apt install htop

Теперь запустите указанную ниже команду, чтобы найти ядро ЦП в системе Linux:

4. Найдите ядра ЦП в Linux с помощью команды nproc

Для отображения доступных процессоров в системе Linux используется команда «nproc». Мы также можем проверить все установленные в системе процессоры с помощью команды «nproc all». Давайте проверим, как мы можем его найти, запустив в терминале:

Как в Linux узнать всю информацию о процессоре

Оригинал: Processor/Cpu details
Автор: Silver Moon
Дата публикации: Jul 4, 2014
Перевод: Н.Ромоданов
Дата перевода: октябрь 2014 г.

Информация о процессоре

Подробная информация о процессоре, о которой мы будем говорить, содержит в себе сведения о количестве ядер, о наличии режима hyper threading, об архитектуре, о размере кэша и т. д. Найти в вашей системе эту информацию, относящуюся к процессору, может быть слегка затруднительным, поскольку ее нужно получать помощью разных команд.

К командам, которые мы будем использовать, относятся команды lscpu, /proc/cpuinfo и lstopo (hwloc). С их помощью можно узнать подробную информацию о ядрах и процессорах. В следующих примерах объясняется, как следует интерпретировать результаты, выдаваемые этими командами.

1. Поставщик и модель процессора

Чтобы определить поставщика и название модели процессора, выполните с помощью команды grep поиск в файле /proc/cpuinfo.

$ cat /proc/cpuinfo | grep vendor | uniq vendor_id : GenuineIntel

Это процессор фирмы Intel. Затем находим имя модели, которое можно использовать для поиска точных спецификаций на сайте Intel.

$ cat /proc/cpuinfo | grep 'model name' | uniq model name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz

Это процессор «Core 2 Quad Q8400».

2. Архитектура

С помощью команды lscpu можно узнать архитектуру процессора.

$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian .

Архитектура — x86_64, что означает 64 разрядную архитектуру.

3. Частота

Частоту/скорость работы процессора можно узнать с помощью команды lscpu и в файле /proc/cpuinfo.

$ lscpu | grep -i mhz CPU MHz: 1998.000 $ cat /proc/cpuinfo | grep -i mhz | uniq cpu MHz : 1998.000

Поскольку большинство современных процессоров работают на более низких частотах для экономии энергии, частота, о которой сообщается, может быть ниже, чем действительная частота работы указанного процессора. Когда нагрузка увеличивается, они переключаются на более высокую частоту.

Изменение частоты можно обнаружить в файле of /proc/cpuinfo, если использовать для этого команду watch.

$ watch -n 0.1 "cat /proc/cpuinfo | grep -i mhz"

Запустите в терминале указанную выше команду и, пока она работает, запустите какую-нибудь задачу, которая интенсивно использует процессор, и частота должна увеличиться.

Every 0.1s: cat /proc/cpuinfo | grep -i mhz Sun Jun 29 15:28:38 2014 cpu MHz : 2664.000 cpu MHz : 2664.000 cpu MHz : 2664.000 cpu MHz : 2664.000

4. Количество ядер

Каждое ядро процессора является, на самом деле, независимым процессором. Несколько ядер позволяют процессору одновременно выполнять несколько команд в программе, в результате чего скорость обработки данных увеличивается.

Команда lscpu указывает «количество ядер в одном сокете».

$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1

Таким образом, в этом случае количество ядер в процессоре равно 4.

В файле /proc/cpuinfo также есть информация о количестве ядер, но ее получить немного сложнее и запутаннее.

Простой подсчет количества процессоров может дать неправильное количество.

$ cat /proc/cpuinfo | grep 'processor'

В случае, когда используется режим hyper threading, количество процессоров, которые видит операционная система, в два раза превышает количество ядер. Но в файле /proc/cpuinfo есть поле с именем «core id», которое уникально для каждого ядра одного процессора. Подсчет этих имен позволяет получить четкое представление о количестве реальных ядер в процессоре

$ cat /proc/cpuinfo | grep -i 'core id' core id : 0 core id : 2 core id : 1 core id : 3
Несколько процессоров

Редко, но в тех случаях, если вы используете систему, в которой имеется несколько физических процессоров (да, это означает 2 или больше процессоров, установленных на материнской плате), то результаты в файле /proc/cpuinfo будут другими. В случае нескольких процессоров, «physical id» будет означать несколько значений.

$ cat /proc/cpuinfo | grep -i 'physical id' | uniq physical id : 0

Если есть более одного идентификатора физического процессора, то это означает, что в системе есть несколько физических процессоров. И в каждом процессоре вы должны посчитать ядра отдельно.

5. Технология Hyper threading

Hyper threading это технология фирмы Intel, которая позволяет одному ядру выполнять обработку так, как если бы это было два ядра. Это в определенных случаях также некоторым образом увеличивает вычислительную мощность каждого ядра.

Чтобы проверить, поддерживается ли в процессоре режим hyper-threading, необходимо сравнить два значения. Первым является фактическое количество ядер, а вторым — логическое количество.

Если количество ядер равно количеству процессоров, которые видно в ОС, то режим hyper threading отсутствует. В противном случае, т. е. если количество блоков обработки больше (в два раза больше) числа ядер, то режим hyper threading присутствует.

number of processing units = number of cores [ no hyper threading ] number of processing units = number of cores * 2 [ hyper threading present ]

В качестве примера возьмем процессор Core 2 Quad Q8400

Количество процессоров, как показано в /proc/cpuinfo, равно 4

$ cat /proc/cpuinfo | grep processor processor : 0 processor : 1 processor : 2 processor : 3

Количество «cpu cores» = 4, также, как и «siblings» = 4, а «core id» = 4

processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz stepping : 10 microcode : 0xa07 cpu MHz : 1998.000 cache size : 2048 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 .

Поэтому общее число процессоров равно количеству фактических ядер. Следовательно на этом процессоре режим hyper threading отсутствует, что и подтверждается спецификациями процессора, приводимыми на сайте Intel.

Процессор с технологией hyper threading

Сведения, касающиеся hyper threading, которые присутствуют в /proc/cpuinfo или в выходных данных lscpu будут отличаться.

Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit CPU(s): 8 Thread(s) per core: 2 Core(s) per socket: 4 CPU socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 30 Stepping: 5 CPU MHz: 1199.000 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 8192K

Обратите внимание на строку «Thread(s) per core: 2», указывающую, что в каждом ядре есть по 2 потока; ядер, в общей сложности, четыре. Таким образом, количество процессоров, которые видны в ОС, равно 8.

Теперь давайте взглянем на данные из /proc/cpuinfo.

$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 60 model name : Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz stepping : 3 microcode : 0x12 cpu MHz : 800.000 cache size : 6144 KB physical id : 0 siblings : 8 core id : 0 cpu cores : 4 apicid : 0

Здесь «cpu cores» = 4 и «siblings» = 8 означают, что имеется 4 ядра и по 2 гиперпотока на ядро. Количество процессоров, как это показано в /proc/cpuinfo, также будет равно 8.

$ cat /proc/cpuinfo | grep processor processor : 0 processor : 1 processor : 2 processor : 3 processor : 4 processor : 5 processor : 6 processor : 7

Флаг HTT в выходных данных dmidecode и флаг ht во флагах /proc/cpuinf могут давать неверную информацию, касающуюся режима hyper threading.

Для процессора Core2Quad Q8400 dmidecode и /proc/cpuinfo показывают, что флаг гиперпотоков установлен, несмотря на то, что в данном процессоре режим hyper threading недоступен.

$ sudo dmidecode -t processor | grep HTT HTT (Multi-threading) $ cat /proc/cpuinfo | grep ht | uniq flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm .

Утилита hwloc / lstopo

Утилита hwloc является небольшой утилитой, которая сообщает о структуре процессора в виде приятной диаграммы. В диаграмме показано количество ядер, наличие режима hyper threading и объем кэш-памяти. Обо всем рассказывает одна схема.

$ sudo apt-get install hwloc $ hwloc

Из приведенной выше диаграммы ясно видно, что размер кэша второго уровня L2 — 4096 KB или 4MB, количество ядер — 4, количество потоков в ядре — 1.

Процессор с технологией hyper threading

Для процессора с режимом hyper threading, выдаваемая диаграмма hwloc может выглядеть следующим образом

На диаграмме показано, что размер кэша третьего уровня L3 — 8MB, количество ядер — 4, количество потоков в ядре — 2 (т. е. режим hyper threading имеется).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *