- Как в Linux узнать всю информацию о процессоре
- Информация о процессоре
- 1. Поставщик и модель процессора
- 2. Архитектура
- 3. Частота
- 4. Количество ядер
- Несколько процессоров
- 5. Технология Hyper threading
- Процессор с технологией hyper threading
- Утилита hwloc / lstopo
- Процессор с технологией hyper threading
- Получение информации о компьютере на UNIX
- Информация о процессоре
- 1. lscpu (Linux)
- 2. sysctl -a (FreeBSD)
- 3. Файл /proc/cpuinfo (Linux)
- 4. Температура процессора
- Linux
- FreeBSD
- Информация об оперативной памяти
- 1. Файл /proc/meminfo (Linux)
- 2. free (Linux)
- Узнаем версию Linux и установленного ядра
- Узнаем версию ядра
- Узнаем версию 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 имеется).
Источник
Получение информации о компьютере на 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
Источник
Узнаем версию Linux и установленного ядра
Иногда бывают ситуации, когда нужно узнать версию установленной системы Linux, в том числе версию ядра или графической оболочки. Чаще всего, если вы сами устанавливаете какой-то дистрибутив, то знаете что именно вы ставите. Но, возможно и такое, что вы купили ноутбук уже с предустановленной системой и хотите выяснить что у вас на данный момент стоит. Существует несколько способов это сделать, как обычно, все операции будем осуществлять в терминале, так как это самый эффективный способ не зависящий от окружения рабочего стола. Да и в целом, если вы когда-нибудь столкнетесь с тем, что вам нужно узнать версию Linux например на сервере, то там с большей вероятностью не будет графического окружения. Все приведенные в этой статье команды будут действовать на всех дистрибутивах Linux.
Узнаем версию ядра
Что бы узнать версию ядра которое установлено у вас в системе, можно выполнить несколько команд, и первой командой будет “uname -a”. Данная команда отобразит не только версию установленного ядра, но и другую информацию, такую как название дистрибутива, версию выпуска и архитектуру системы:
Либо, для вывода именно версии ядра можно воспользоваться командами “uname -or” или “uname -r”:
Как можно увидеть на скриншотах, версия ядра 5.8.0, в вашем же случае версия может быть иная, все зависит от вашего дистрибутива и его обновлений.
Узнаем версию Linux
Узнать версию вашего дистрибутива Linux можно несколькими способами, разберем опять же те способы, которые используются в терминале. Так как эти способы универсальны и сработают на любом дистрибутиве Linux не зависимо от графического окружения. И так, первый способ узнать версию Linux это команда “os-release”, так же вместо приставки “os” можно указать звездочку “ * “. Например, в той же Ubuntu можно ввести еще команду “lsb-release”, она так же покажет вам ту же информацию ос системе. Приведу в примере все варианты, так сказать для наглядности, а что бы вывести информацию воспользуемся командой “cat”:
Теперь вместо приставки укажем звездочку “*”:
Ну и последний вариант который мы рассмотрим и о котором говорилось чуть выше это “lsb-release”, эта команда покажет чуть более сокращенную информацию о системе:
Обращаю ваше внимания на то, что мы выводили информацию о Linux из файлов, которые расположены в каталоге “etc”, эти файлы вы можете увидеть на скриншоте ниже:
Заключение
Существуют и иные способы узнать информацию о дистрибутиве Linux, как вариант, можно вывести информацию простой командой “lsb_release -a”, либо не только о системе, но и о вашем оборудовании командой “inxi -F”. Правда, в последнем случае вам нужно будет установить утилиту “inxi”:
Воспользовавшись командой “inxi -F” можно выяснить как версию вашего дистрибутива Linux, так и версию графического окружения и ядра. Данная утилита покажет более подробную информацию, в том числе и о вашем оборудовании, что весьма удобно в некоторых случаях. Какой из выше перечисленных команд воспользоваться, это дело вкуса и обстоятельств, если же нужно выяснить версию ядра, то необязательно выводить всю информацию о вашей системе. А в случае необходимости узнать более подробную информацию, всегда можно установить утилиту “inxi -F”.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X
Источник