- Как узнать версию ядра Linux
- Как узнать версию ядра Linux?
- Выводы
- 4 способа найти количество ядер CPU в Linux
- Вопрос: Как найти количество ядер CPU в Linux?
- Использование файловой системы Proc
- С помощью команды lscpu
- Использование команды NPROC
- С помощью команды dmidecode
- Информация о процессоре 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
- Выводы
- Как узнать количество ядер системы в Linux?
- Примеры:
Как узнать версию ядра Linux
Ядро Linux — это один из самых важных компонентов операционной системы. Ядро выступает посредником между программами и аппаратным обеспечением, контролирует процессы, управляет памятью, предоставляет доступ к сети. Это основа операционной системы, в которой выполняются большинство важных процессов.
Довольно часто выходят новые версии ядра, которые нужно устанавливать, чтобы вовремя получать новые возможности, а также исправления проблем с безопасностью. Но для начала неплохо бы знать какая версия установлена сейчас. В этой статье мы рассмотрим как узнать версию ядра Linux. Для этого существует несколько способов.
Как узнать версию ядра Linux?
Самый распространенный способ посмотреть ядро linux — это команда uname. Она выводит информацию о системе в целом, и в том числе о ядре. Чтобы посмотреть всю доступную информацию выполните команду с опцией -a:
Здесь сообщается вся доступная информация о ядре Linux, имя компьютера, дата сборки ядра, имя дистрибутива, архитектура и версия ядра — 4.8.0-54. Первая цифра — это мажорный номер версии, на данный момент — это 4, 8 — минорная версия, ядро уже немного устарело, сейчас уже актуальная версия 4.11, цифра 0 — это номер ревизии, а 54 — это уже относиться к номеру сборки от разработчиков дистрибутива, каждый раз, когда к ядру нужно добавить новые патчи или исправления оно пересобирается, а к номеру добавляется это число.
Если же вам не нужна вся эта информация, то можно просто посмотреть версию ядра с помощью опции -r:
Но это далеко не единственный способ узнать ядро linux. Мы можем посмотреть строку запуска Grub с помощью команды:
Тут в параметре BOOT_IMAGE мы можем видеть полный путь к образу ядра, который был сейчас загружен. В той же файловой системе /proc есть файл version, где хранится версия ядра:
Дальше, чтобы получить ту же информацию мы можем посмотреть лог dmesg, в самом начале отображается версия ядра, которая будет загружена:
dmesg | grep Linux
Также, вы можете узнать какие версии ядра установлены в вашей системе с помощью пакетного менеджера, но это вам никак не поможет понять какая версия сейчас запущена, если установлено несколько вариантов. В Ubuntu для этого есть утилита dpkg:
sudo dpkg -l | grep linux-headers | grep ii | awk ‘
А в Red Hat / CentOS можно воспользоваться аналогичной программой — rpm:
sudo rpm -q kernel
Также в ответ на вопрос как посмотреть ядро Linux можно посоветовать посмотреть содержимое папки /boot на предмет образов ядра с именем vmlinuz:
ls /boot | grep vmlinuz
Логически, из этих данных можно предположить, что текущая версия ядра с последним номером исправлений — 54 поскольку менеджер пакетов во время обновлений автоматически перезаписывает конфигурацию Grub для использования новой версии.
Выводы
В этой статье мы разобрались как узнать версию ядра linux несколькими способами, надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
4 способа найти количество ядер CPU в Linux
Главное меню » Операционная система Linux » 4 способа найти количество ядер CPU в Linux
Вопрос: Как найти количество ядер CPU в Linux?
Использование файловой системы Proc
Для того чтобы найти количество ядер CPU в Linux, можно воспользоваться файловой системой proc. Эта процедура представляет собой псевдо-файловую систему, которая отслеживает среду выполнения.
Для того, чтобы получить информацию центрального процессора, вам нужно просто cat “/proc/cpuinfo” в proc. Это дает детальную информацию о процессоре, таком как VENDOR_ID, семейства CPU, модель, CPU МГц и т.д., как показано ниже:
Следовательно, чтобы найти количество ядер CPU в Linux с точными деталями используйте следующую команду:
Вот в этом случае мы получили 3 процессора, число в диапазоне от 0 до 2.
С помощью команды lscpu
Вы также можете найти количество ядер CPU в Linux с помощью команды lscpu.
В приведенном выше примере четко упоминается число процессоров 3 напротив заголовка “CPU(s)”.
Использование команды NPROC
Команда NPROC поможет найти количество ядер CPU в Linux напрямую, без grep или расчета, и показано ниже.
С помощью команды dmidecode
Команда dmidecode также предоставляет информацию о процессоре вместе с другой аппаратной информацией, такой как системная информация, информация о вентиляторах. Чтобы получить точно или найти количество ядер CPU в Linux с помощью команды dmidecode, вам нужно указать grep со словом CPU, как показано ниже:
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Информация о процессоре 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. Напишите в комментариях!
Источник
Как узнать количество ядер системы в Linux?
Я хотел узнать, сколько ядер у моей системы, поэтому я искал тот же вопрос в Google. У меня есть некоторые команды, такие как lscpu команда. Когда я попробовал эту команду, она дала мне следующий результат:
В частности, этот вывод показывает:
- ЦП: 4
- Core (s) на сокет: 4
- Семейство процессоров: 6
Что из этого указывает на ядра системы Linux?
Есть ли какая-либо другая команда, чтобы определить количество ядер, или я предполагаю, что она полностью неверна?
Вы должны смотреть на сокеты и ядра на сокет. В этом случае у вас есть 1 физический процессор (сокет), который имеет 4 ядра (ядра на сокет).
Чтобы получить полную картину, вам нужно посмотреть на количество потоков на ядро, ядер на сокет и сокетов . Если вы умножите эти числа, вы получите количество процессоров в вашей системе.
ЦП = потоков на ядро X ядер на сокет X сокетов
Процессоры — это то, что вы видите при запуске htop (они не равны физическим процессорам).
Вот пример с настольного компьютера:
Вывод nproc соответствует количеству ЦП от lscpu . Для настольного компьютера выше это должно соответствовать 8 процессорам, о которых сообщают lscpu :
Вывод /proc/cpuinfo должен соответствовать этой информации, например, на настольной системе выше мы видим, что есть 8 процессоров (ЦП) и 4 ядра (идентификатор ядра 0-3):
cpu cores Сообщил /proc/cpuinfo соответствует Core(s) per socket сообщению lscpu . Для настольного компьютера выше это должно соответствовать 4 ядрам на сокете, о которых сообщает lscpu:
Чтобы конкретно ответить на ваш вопрос, вы говорите, сколько ядер у вас есть, умножая количество ядер на каждый сокет на количество имеющихся у вас сокетов.
Сердечники = сердечники на гнездо X розетки
Для приведенных выше примеров систем настольный компьютер имеет 4 ядра:
Пока на сервере есть 16:
Еще одна полезная утилита, dmidecode которая выводит информацию по каждому сокету. В случае серверной системы, указанной выше, мы ожидаем увидеть 8 ядер на сокет и 16 потоков на сокет:
У lscpu команды есть несколько полезных опций, которые вы можете проверить, например:
Смотрите man lscpu подробности.
- Вы должны знать о сокетах, ядрах и потоках
- Вы должны быть осторожны с термином CPU, поскольку он означает разные вещи в разных контекстах
Вы можете получить эту информацию по nproc(1) команде
Не требует прав root.
Чтобы ответ не вводил в заблуждение, необходимо понять несколько простых концепций компьютерной архитектуры:
- Вы запускаете процессы («программы») в вашей системе Linux. Каждый процесс состоит из одного или нескольких потоков
- Каждый поток представляет собой отдельную последовательность инструкций . Два потока могут выполняться параллельно.
- Каждая инструкция передается процессору для выполнения. У CPU есть логика, которая вычисляет, что означают биты инструкции, и решает, что с ней делать.
Существуют разные типы инструкций. Логика принятия решений внутри ЦП будет отправлять разные инструкции разным аппаратным модулям . Например, арифметические инструкции фактически выполняются ALU (арифметическим / логическим блоком), в то время как инструкции, которые загружаются / сохраняются из памяти, выполняются каким-либо блоком памяти .
Под ядром понимается набор реального исполнительного оборудования (т. Е. Каждое ядро имеет ALU, блок памяти и т. Д.)
Вы можете иметь несколько процессоров, которые разделяют одно ядро - это называется гиперпоточность.
- Идея: поток A в настоящее время выполняет арифметику, а поток B загружает что-то из памяти. Когда это так, потоки A и B могут эффективно совместно использовать одно ядро, не мешая друг другу (A использует ALU, B использует блок памяти). Конечно, иногда обе программы захотят АЛУ, и тогда им придется ждать друг друга .
Сокет является физический слот на материнской плате , в которую вставляется чип. Этот чип имеет определенное количество ядер.
Примеры:
- один физический разъем, который содержит чип с
- 4 физических ядра (всего 4 ALU и 4 блока памяти)
- Только 1 поток может выдавать инструкции ядру (без гиперпоточности), что означает, что есть
- один процессор на ядро или 4 * 1 = 4 процессора
Два физических сокета, каждый из которых содержит чип с 4 физическими ядрами, всего 8 ядер. Два потока могут выдавать инструкции для каждого ядра (эта машина имеет гиперпоточность), то есть к каждому ядру должны быть подключены два ЦП, что в сумме составляет 8 * 2 = 16 ЦП.
Первая машина может выполнять ровно четыре инструкции в любой момент времени. Вторая машина может выполнять от 8 до 16 инструкций в любой момент времени: 16 будет достигнуто только тогда, когда каждая пара процессоров выполняет различные типы инструкций и может совместно использовать ядро без ожидания.
Источник