- Как в Linux узнать всю информацию о процессоре
- Информация о процессоре
- 1. Поставщик и модель процессора
- 2. Архитектура
- 3. Частота
- 4. Количество ядер
- Несколько процессоров
- 5. Технология Hyper threading
- Процессор с технологией hyper threading
- Утилита hwloc / lstopo
- Процессор с технологией hyper threading
- Информация о процессоре Linux
- Информация о процессоре Linux
- 1. /proc/cpuinfo
- 2. cpufreq-info
- 3. cpuid
- 4. dmidecode
- 5. hardinfo
- 6. i7z
- 7. inxi
- 8. likwid-topology
- 9. lscpu
- 10. lshw
- 11. lstopo
- 12. numactl
- 13. x86info
- 14. nproc
- 15. hwinfo
- Выводы
- Получение информации о компьютере на UNIX
- Информация о процессоре
- 1. lscpu (Linux)
- 2. sysctl -a (FreeBSD)
- 3. Файл /proc/cpuinfo (Linux)
- 4. Температура процессора
- Linux
- FreeBSD
- Информация об оперативной памяти
- 1. Файл /proc/meminfo (Linux)
- 2. free (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» будет означать несколько значений.
Если есть более одного идентификатора физического процессора, то это означает, что в системе есть несколько физических процессоров. И в каждом процессоре вы должны посчитать ядра отдельно.
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 имеется).
Источник
Информация о процессоре Linux
В зависимости от ваших потребностей о процессоре можно узнать различную информацию. Вам может понадобится производитель, модель, тактовая частота, количество ядер или потоков, конфигурация кэша, доступные расширения процессора (аппаратная виртуализация, AES, MMX, SSE) и так далее. В Linux существует уйма инструментов как командной строки так и с графическим интерфейсом которые показывают информацию об оборудовании и в том числе процессоре.
В этой статье собраны самые лучшие и удобные инструменты с помощью которых можно посмотреть характеристики процессора Linux. Среди них есть как консольные утилиты, так и графические.
Информация о процессоре Linux
1. /proc/cpuinfo
Простейший метод посмотреть характеристики процессора — открыть автоматически обновляемый системой файл /proc/cpuinfo. В этом файл показаны характеристики используемого процессора:
Здесь вы можете узнать количество ядер и потоков процессора, тактовую частоту, модель, доступные расширения процессора, и еще несколько других вещей.
2. cpufreq-info
Утилита cpufreq-info входит в набор утилит для управления частотой процессора cpufrequtils, и позволяет посмотреть частоту каждого из ядер процессора, максимальную и минимальную частоты на которых может работать процессор, а также политику управления cpufreq. Перед использованием утилиту надо установить:
sudo apt install cpufrequtils
Для просмотра информации о первом ядре используйте:
cpufreq-info -c 0
3. cpuid
Консольная утилита cpuid показывает подробную информацию о процессоре используя набор функций CPUID. Выводится тип и семейство процессора, расширения, конфигурация кэша, TLB и информация про функции управления питанием. Для установки выполните:
sudo apt install cpuid
4. dmidecode
Утилита dmidecode собирает подробную информацию об оборудовании системы на основе данных DMI в BIOS. Отображаемая информация включает производителя, версию процессора, доступные расширения, максимальную и минимальную скорость таймера, количество ядер, конфигурацию кэша L1/L2/L3 и т д. Здесь информация о процессоре Linux намного легче читается чем у предыдущей утилиты.
sudo dmidecode -t 4
5. hardinfo
Hardinfo это графическая утилита которая позволяет получить информацию о процессоре и другом оборудовании в системе в графическом интерфейсе. Утилиту надо установить:
sudo apt install hardinfo
6. i7z
Утилита i7z — монитор параметров процессора в реальном времени для процессоров Intel Core i3, i5 и i7. Он отображает информацию по каждому ядру в реальном времени, такую как состояние TurboBoost, частота ядер, настройки управления питанием, температура и т д. У i7z есть консольный интерфейс основанный на Ncurses, а также графический на базе библиотек Qt.
7. inxi
Команда inxi — это bash скрипт, написанный для сбора информации о системе в удобном и понятном для человека виде. Он показывает модель процессора, размер кэша, скорость таймера и поддерживаемые дополнительные возможности процессора. Для установки используйте:
sudo apt install inxi
8. likwid-topology
Likwid (Like I Knew What I’m Doing) — это набор инструментов командной строки для измерения, настройки и отображения параметров оборудования компьютера. Информация о процессоре может быть выведена с помощью утилиты likwid-topology Она показывает модель и семейство процессора, ядра, потоки, кэш, NUMA. Установка:
sudo apt install likwid
9. lscpu
Команда lscpu отображает содержимое /proc/cpuinfo в более удобном для пользователя виде. Например, архитектуру процессора, количество активных ядер, потоков, сокетов.
10. lshw
Команда lshw — универсальный инструмент для сбора данных об оборудовании. В отличии от других инструментов для lshw необходимы права суперпользователя так как утилита читает информацию из DMI в BIOS. Можно узнать общее количество ядер, и количество активных ядер. Но нет информации об кэше L1/L2/L3.
sudo lshw -class processor
11. lstopo
Утилита lstopo входит в пакет hwloc и визуализирует топологию системы. Сюда входит процессор, память, устройства ввода/вывода. Эта команда полезна для идентификации архитектуры процессора и топологии NUMA. Установка:
sudo apt install hwloc
12. numactl
Первоначально разрабатываемая для настройки планировки NUMA и политик управления памятью в Linux numactl также позволяет посмотреть топологию NUMA:
sudo apt install numactl
13. x86info
x86info — инструмент командной строки для просмотра информации о процессорах архитектуры x86. Предоставляемая информация включает модель, количество ядер/потоков, скорость таймера, конфигурацию кэша, поддерживаемые флаги и т д. Установка в Ubuntu:
sudo apt install x86info
14. nproc
Утилита просто выводит количество доступных вычислительных потоков. Если процессор не поддерживает технологию HyperThreading, то будет выведено количество ядер:
15. hwinfo
Утилита hwinfo позволяет выводить информацию о различном оборудовании, в том числе и о процессоре. Программа отображает модель процессора, текущую частоту, поддерживаемые расширения. Наверное, это самый простой способ узнать частоту процессора Linux:
Выводы
В этой статье мы собрали самые популярные утилиты которые позволяют посмотреть процессор linux. Как видите, их действительно очень много. А какими программами пользуетесь вы? Мне нравится lscpu. Напишите в комментариях!
Источник
Получение информации о компьютере на 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)
Команда отображает множество данных, поэтому добавляем фильтр:
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
Источник