Как посмотреть архитектуру процессора linux

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

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

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

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

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

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

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

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

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

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

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

3. Частота

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

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

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

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

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

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

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

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

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

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

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

Несколько процессоров

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

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

Читайте также:  Как сделать чтобы при загрузке windows запрашивала пароль

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Утилита hwloc / lstopo

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

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

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

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

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

Источник

Получение информации о компьютере на UNIX

В данной статье пойдет речь о способах сбора сведений об оборудовании компьютера, который находится под управлением операционных систем семейства UNIX, такие как Linux и BSD. Также, будет немного затронута часть получения системной информации. Действия будут выполняться из командной строки без графической оболочки — их можно выполнить, подключившись к компьютеру удаленно по SSH.

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

Команды для получения данных о процессоре.

1. lscpu (Linux)

Команда показывает информацию о характеристиках процессора в удобном виде:

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 2
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
Stepping: 4
CPU MHz: 2592.918
BogoMIPS: 5187.50
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0-7

* больше всего нас интересует:

  • Architecture — архитектура процессора — 32 бит или 64.
  • Core(s) per socket — количество ядер на процессор.
  • Socket(s) — количество физических/виртуальных процессоров.
  • CPU(s) — суммарное количество процессорных ядер.
  • Model name — модель процессора.

2. sysctl -a (FreeBSD)

Команда отображает множество данных, поэтому добавляем фильтр:

Читайте также:  Трекер для windows phone

sysctl -a | egrep -i ‘hw.machine|hw.model|hw.ncpu’

hw.model: Intel(R) Xeon(R) CPU X5690 @ 3.47GHz
hw.machine: amd64
hw.ncpu: 2

* на самом деле, команда sysctl работает и в Linux, но формат вывода менее удобен, по сравнению с вышерассмотренной lscpu.

3. Файл /proc/cpuinfo (Linux)

Позволяет увидеть подробную информацию по каждому ядру:

Команда для подсчета количества ядер:

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

4. Температура процессора

Linux

Сначала необходимо установить утилиту.

yum install lm_sensors

apt-get install lm-sensors

После установки утилиты выполняем:

FreeBSD

Загружаем необходимый модуль:

* для автоматической его загрузки добавляем в файл /boot/loader.conf строку coretemp_load=»YES»

sysctl -a | grep temperature

dev.cpu.0.temperature: 40.0C
dev.cpu.1.temperature: 41.0C

Информация об оперативной памяти

1. Файл /proc/meminfo (Linux)

MemTotal: 8010284 kB
MemFree: 1058580 kB
MemAvailable: 2791616 kB
Buffers: 1884 kB
Cached: 1754092 kB
SwapCached: 122280 kB
Active: 4330296 kB
Inactive: 2006792 kB
Active(anon): 3623768 kB
Inactive(anon): 983120 kB
Active(file): 706528 kB
Inactive(file): 1023672 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 1048572 kB
SwapFree: 597684 kB
Dirty: 20 kB
Writeback: 0 kB
AnonPages: 4466532 kB
Mapped: 92808 kB
Shmem: 25776 kB
Slab: 408732 kB
SReclaimable: 308820 kB
SUnreclaim: 99912 kB
KernelStack: 7312 kB
PageTables: 23276 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 5053712 kB
Committed_AS: 3770324 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 159328 kB
VmallocChunk: 34359341052 kB
HardwareCorrupted: 0 kB
AnonHugePages: 3248128 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 257984 kB
DirectMap2M: 8130560 kB

* чаще всего, самое важное:

  • MemTotal — общий объем оперативной памяти.
  • MemFree — объем памяти, который не используется системой.
  • Buffers — память, которая в данным момент ожидает записи на диск.
  • Cached — объем, задействованный под кэш чтения с диска.
  • MemAvailable — объем памяти, доступной в распределители без необходимости обмена.
  • SwapTotal — объем файла подкачки.
  • SwapFree — свободный объем файла подкачки.

* Объем используемой памяти = MemTotal – MemFree — Cached — Buffers.

Для перевода килобайт в гигабайты можно воспользоваться онлайн калькулятором.

2. free (Linux)

Данная команда позволяет получить информацию об использовании памяти в удобной таблице. Для еще большего удобства, мы выведем ее с помощью дополнительного параметра -h:

total used free shared buff/cache available
Mem: 3,7G 568M 378M 193M 2,8G 2,6G
Swap: 4,0G 94M 3,9G

Источник

Как определить архитектуру ядра Linux?

uname -m дает i686 и uname -m дает i686 i386 выход в машине Red Hat Enterprise Linux Server 5.4 (Tikanga). Мне нужно установить Oracle Database 10g Release 2 на этом компьютере. Итак, как я могу решить, является ли архитектура ядра 32-битной или 64-битной?

10 ответов

i386 и i686 являются 32-разрядными.
x86_64 — 64-разрядный

пример для 64 бит:

Это просто! Используйте команду arch .

@behrooz является правильным. К сожалению, uname требует знать архитектуры. Фактически, я искал список архитектур, и я нашел эта статья , которая отвечает на ваш вопрос. Что касается uname -m :

x86_64 GNU /Linux указывает, что вы используете 64-битное ядро ​​Linux. Если вы используете i386 /i486 /i586 /i686, это 32-битное ядро.

Чтобы определить, может ли аппаратное обеспечение запускать 64-битное ядро ​​

Найдите в выводе следующее (все флаги извлечены из этот ответ stackoverflow для того же вопроса)

  • lm флаг означает процессор с длинным режимом — 64-битный процессор
  • tm флаг означает защищенный режим — 32-разрядный процессор
  • rm флаг означает Real Mode — 16-битный процессор

(EDIT: этот ответ НЕПРАВИЛЬНО. Благодаря комментарию @ Lizardx)

В Bash, используя целочисленное переполнение:

Читайте также:  Почему исчезли ярлыки с рабочего стола windows

Это намного эффективнее, чем вызов другого процесса или открытие файлов.

Самый простой способ — запустить:

, который выведет 64 или 32 в зависимости от того, является ли это 32 или 64 бита.

Источник

Получаем информацию об оборудовании в Linux

Рассмотрим несколько полезных команд и утилит с помощью которых можно получить информацию об оборудовании в Linux. Такая потребность возникает, например, тогда, когда вам нужно установить драйвер для какого-нибудь устройства компьютера и вам нужно знать его точное название. Или, например, вы хотите получить информацию о занимаемой памяти или ресурсах компьютера.

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

Получить всю необходимую информацию о центральном процессоре в Linux можно выполнив в терминале команду:

Чтобы определить является ли ваш процессор 32-х или 64-битным нужно просмотреть флаги, которые указаны в выводе команды. Если среди флагов присутствует lm (long mode), это означает, что ваш процессор 64-битный. Например, при выполнении команды cat /proc/cpuinfo мы можем получить следующие флаги:

Информация о PCI устройствах (информация о видео-карте)

С помощью команды lspci можно вывести всю информацию о PCI устройствах:

Эту команду часто используют, чтобы получить информацию о видео-карте. Так как вывод команды lspci достаточно большой, то можно воспользоваться командой grep, чтобы задать условие поиска. Например, если мы знаем, что у нас видео-карта от Nvidia, тогда можно воспользоваться командой:

И в результате получить что-нибудь вроде:

Обратите внимание на то, что команда grep чувствительна к регистру символов и поэтому, если вы с первого раза не нашли то, что искали, то стоит попробовать другое написание, например, nvidia, NVIDIA или просто idia. Аналогично можно искать информацию в выводе любых других команд, добавляя к команде: «| grep строка-поиска.

Информацию о версии драйвера для видео-карт Nvidia в Linux можно получить выполнив:

Информация об оперативной памяти (ОЗУ)

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

Информацию о виртуальной памяти можно получить командой vmstat:

Если вам нужна более детальная информация о процессах, занимающих оперативную память, о загруженности процессора (CPU), тогда можно использовать утилиты Top или htop. Утилита top как правило всегда присутствует в Linux. Для ее запуска просто выполните:

Информация о жестких дисках

Информация о разделах жесткого диска в Linux:

Информация о монтированных разделах, количество свободной и занятой памяти:

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

В качестве параметра можно задать имя файла, например, чтобы узнать размер файла abc.bin выполните:

Информация о USB устройствах и шинах USB

Для вывода информации о шинах USB и о подключенных USB устройствах используется команда lsusb:

Неконсольные программы

Рассмотрим несколько графических программ, которые помогут при работе с оборудованием.

В среде рабочего стола Gnome есть графическая утилита System monitor (Системный монитор). Она выводит информацию об использовании процессора, о запущенных процессах (приложениях), информацию о жестких дисках, а также выводит графики, включая использование сети. Из командой строки ее можно запустить выполнив:

Для работы с жесткими можно воспользоваться программой GParted.

Дополнительная информация

Напоследок обязательно стоит упомянуть об очень важной команде lshw, которая выводит практически всю информацию о вашем компьютере. Команду lshw нужно запускать под пользователем root:

Чтобы вывести краткую информацию используется ключ -short:

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

Например, чтобы получить всю информацию о команде du, выполните команду:

Источник

Оцените статью