Как узнать процессор в Linux: nproc, lscpu и команды для RAM, диска и ОС

Тестовая средаСемейство RHELAlmaLinux 9.8Учётная запись rootПроверено 2026-10-29

В Linux число процессоров можно узнать одной строкой nproc, а lscpu покажет, что считает это число: сокеты, ядра или потоки. При сравнении nproc, lscpu и /proc/cpuinfo на сервере AlmaLinux 9 три команды вывели одно и то же число логических процессоров под разными именами, например CPU(s) и processor. RAM, диск и версию ОС на том же сервере проверили с помощью free, df, lsblk и uname.

Модель CPU, число ядер, объём памяти и диска и версия ядра в выводах ниже — примерные значения. Что показывает каждая команда, сначала сведено в таблицу.

КомандаЧто показывает
nprocЧисло доступных CPU (логические ядра)
lscpuМодель CPU, сокеты, ядра, потоки
free -hОбъём RAM: всего, занято, свободно
df -hИспользование по дискам (файловым системам)
lsblkСтруктура дисков и разделов
cat /etc/os-releaseНазвание и версия дистрибутива
uname -rВерсия ядра

1️⃣ Проверка CPU в Linux: nproc и lscpu

CPU(s) в lscpu — это число логических процессоров, которые использует операционная система, а число физических ядер читается отдельно в строке Core(s) per socket. CPU(s) считается как сокеты × ядра на сокет × потоки на ядро.

Если вам нужно только число логических процессоров, хватит одной строки nproc.

nproc
4

Согласно руководству nproc, это значение — число вычислительных блоков, доступных текущему процессу, поэтому в средах, где использование CPU ограничено, оно может быть меньше числа процессоров в сети.

Откуда берётся эта 4, видно в начале вывода lscpu.

lscpu | head -n 15
Architecture:                            x86_64
CPU op-mode(s):                          32-bit, 64-bit
Address sizes:                           46 bits physical, 48 bits virtual
Byte Order:                              Little Endian
CPU(s):                                  4
On-line CPU(s) list:                     0-3
Vendor ID:                               GenuineIntel
BIOS Vendor ID:                          Intel(R) Corporation
Model name:                              Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
BIOS Model name:                         Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
CPU family:                              6
Model:                                   85
Thread(s) per core:                      2
Core(s) per socket:                      2
Socket(s):                               1

Если перемножить Socket(s) 1, Core(s) per socket 2 и Thread(s) per core 2, получится 4 в CPU(s). 0-3 в On-line CPU(s) list — номера логических процессоров, которые присвоила операционная система.

vCPU в прайс-листе AWS EC2 — это тоже единица логического процессора. Согласно официальной документации, EC2 считает один поток ядра CPU одним vCPU. У экземпляра с 2 ядрами и 2 потоками на ядро 4 vCPU — та же структура, что и в выводе lscpu выше.

Какому ядру принадлежит каждый из четырёх логических процессоров, опция -e выводит таблицей.

lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE
  0    0      0    0 0:0:0:0          yes
  1    0      0    1 1:1:1:0          yes
  2    0      0    0 0:0:0:0          yes
  3    0      0    1 1:1:1:0          yes

CPU 0 и 2 делят CORE 0, а CPU 1 и 3 — CORE 1. Два логических процессора на одном ядре — это гиперпоточность (SMT). На схеме ниже можно нажимать кнопки команд и сравнить, под какими именами три команды выводят эту структуру.

🧭 Как получается CPU(s) 4
Поясняющая схема
🔍 Команда
$ nproclscpucat /proc/cpuinfo
Сокет 0Socket(s): 1physical id : 0
Ядро 0Core(s) per socket: 2core id : 0
CPU 0processor : 0
CPU 2processor : 2
Thread(s) per core: 2cpu cores : 2
Ядро 1Core(s) per socket: 2core id : 1
CPU 1processor : 1
CPU 3processor : 3
Thread(s) per core: 2cpu cores : 2
nproc → 4CPU(s): 4 = 1 × 2 × 2processor 0~3 · siblings : 4
nproc считает логические процессоры, доступные текущему процессу, и выводит 4. На сокеты и ядра он их не делит.
lscpu выводит ту же структуру, разбитую на Socket(s) 1, Core(s) per socket 2 и Thread(s) per core 2, а произведение трёх чисел, 4, и есть CPU(s).
/proc/cpuinfo выводит четыре блока, нумеруя каждый логический процессор полем processor, а сокет записывает как physical id, ядро — как core id. siblings 4 — число логических процессоров в том же сокете, cpu cores 2 — число физических ядер.

2️⃣ Информация о CPU в Linux: /proc/cpuinfo

Источник чисел, которые сводит lscpu, — файл /proc/cpuinfo. Ядро записывает по одному блоку на каждый логический процессор, поэтому на сервере с CPU(s) 4 одинаковый блок повторяется четыре раза подряд.

Команда cat выводит весь файл со всеми четырьмя блоками, а если обрезать вывод через head, как ниже, останется только первый блок.

head -n 27 /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 85
model name	: Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
stepping	: 4
microcode	: 0x2007006
cpu MHz		: 2394.374
cache size	: 28160 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves ida arat pku ospke
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi spectre_v2_user its
bogomips	: 4788.74
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 48 bits virtual
power management:

Вот десять полей, которые вы будете смотреть чаще всего.

  • 🔢 processor
  • ↳ Номер логического процессора (с 0)
  • 🏷️ model name
  • ↳ Название модели CPU
  • 🧩 physical id
  • ↳ Номер сокета, к которому относится этот процессор
  • 👥 siblings
  • ↳ Число логических процессоров в том же сокете (при гиперпоточности вдвое больше cpu cores)
  • 🧱 cpu cores
  • ↳ Число физических ядер в том же сокете
  • 🆔 core id
  • ↳ Номер ядра, к которому относится этот логический процессор
  • ⏱️ cpu MHz
  • ↳ Текущая частота (MHz)
  • 🗄️ cache size
  • ↳ Размер кеша (то же значение, что L3 cache в lscpu)
  • 🚩 flags
  • ↳ Функции и наборы инструкций, которые поддерживает CPU (ht, avx2, aes и т. д.)
  • 📐 address sizes
  • ↳ Разрядность физических и виртуальных адресов

Посчитав строки processor, вы узнаете число процессоров, а сравнив siblings с cpu cores — включена ли гиперпоточность.

grep -c processor /proc/cpuinfo
4
grep -E 'siblings|cpu cores' /proc/cpuinfo | sort -u
cpu cores	: 2
siblings	: 4

Строк processor 4, siblings равно 4, а cpu cores — 2, значит, на каждом ядре работают два потока. То же самое подтвердили и по значению, которое ядро записывает в /sys.

cat /sys/devices/system/cpu/smt/active
1

Согласно документации ядра, 1 означает, что SMT включена и родственные процессоры в сети. Если выключена, выводится 0.

Если нужно только название модели CPU, соберите строки model name.

grep 'model name' /proc/cpuinfo | uniq -c
      4 model name	: Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz

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

3️⃣ Объём RAM в Linux: free и /proc/meminfo

Объём RAM проверяют с помощью команды free. С опцией -h значения выводятся в единицах Gi и Mi.

free -h
               total        used        free      shared  buff/cache   available
Mem:           7.7Gi       4.1Gi       775Mi       112Mi       2.8Gi       3.3Gi
Swap:          2.0Gi       640Mi       1.4Gi

Свободную память смотрите в столбце available. Даже если столбец free маленький, Linux заполняет лишнюю память файловым кешем (buff/cache) и сразу освобождает её, когда она нужна программе.

Как в выводе выше, столбец free может показывать 775Mi, а available — 3.3Gi. Согласно руководству free, available — это оценка памяти, доступной для запуска новых программ без подкачки.

Для расчётов в скриптах подходит опция -m. Она выводит целые числа в MiB.

free -m
               total        used        free      shared  buff/cache   available
Mem:            7867        4219         775         112        2873        3400
Swap:           2047         640        1407

Источник, который читает free, — /proc/meminfo. Первые пять строк соответствуют total, free, available и buff/cache в free, единица — kB.

head -n 5 /proc/meminfo
MemTotal:        8055808 kB
MemFree:          793600 kB
MemAvailable:    3481600 kB
Buffers:              32 kB
Cached:          2856960 kB

Если разделить MemTotal 8055808 kB на 1024, получится то же значение, что 7867 в free -m.

4️⃣ Место на диске в Linux: df и lsblk

Команда df выводит размер и занятость смонтированных файловых систем, поэтому не подходит для несмонтированных дисков или просмотра разметки разделов. В этом случае используйте lsblk.

df -h -x squashfs
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           1.6G  154M  1.5G  10% /run
efivarfs        128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/nvme0n1p4   79G   10G   69G  13% /
/dev/nvme0n1p3  960M  269M  692M  28% /boot
/dev/nvme0n1p2  200M  7.7M  193M   4% /boot/efi
tmpfs           787M  8.0K  787M   1% /run/user/0

-x squashfs — опция, которая убирает из списка файловые системы loop, монтируемые пакетами snap только для чтения. Корневая файловая система (/) занимает 10G из 79G, то есть 13%, а devtmpfs и tmpfs — файловые системы в памяти, поэтому их исключают из подсчёта места на диске.

Чтобы видеть ещё и тип файловой системы, добавьте -T; если указать путь, выводится только строка файловой системы, к которой относится этот путь.

df -hT /
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/nvme0n1p4 xfs    79G   10G   69G  13% /

Корень был на xfs. Как разделены диск и разделы, смотрят через lsblk. С -e 7 устройства loop вроде snap пропадают, и остаются только реальные диски.

lsblk -e 7
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0    80G  0 disk
├─nvme0n1p1 259:1    0     1M  0 part
├─nvme0n1p2 259:2    0   200M  0 part /boot/efi
├─nvme0n1p3 259:3    0     1G  0 part /boot
└─nvme0n1p4 259:4    0  78.8G  0 part /

Один диск, nvme0n1, разбит на четыре раздела, и из них nvme0n1p4 смонтирован в корень, что соответствует строке 79G в df.

5️⃣ Версия ОС и ядра в Linux: os-release и uname

Прочитав числа по CPU, памяти и диску, заодно проверьте, на каком дистрибутиве и ядре работает сервер. Название дистрибутива, версия и дата окончания поддержки лежат в одном файле — /etc/os-release.

cat /etc/os-release
NAME="AlmaLinux"
VERSION="9.8 (Olive Jaguar)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.8"
PLATFORM_ID="platform:el9"
PRETTY_NAME="AlmaLinux 9.8 (Olive Jaguar)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"

ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9"
ALMALINUX_MANTISBT_PROJECT_VERSION="9.8"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.8"
SUPPORT_END=2032-06-01

Строка PRETTY_NAME — имя для людей, а VERSION_ID — номер версии, который сравнивают скрипты. По строке SUPPORT_END проверили и дату окончания поддержки.

В системах семейства RHEL ту же версию одной строкой показывает и /etc/redhat-release.

cat /etc/redhat-release
AlmaLinux release 9.8 (Olive Jaguar)

Версия ядра: uname -r выводит её одной строкой.

uname -r
5.14.0-687.10.1.el9_8.x86_64
uname -a
Linux server 5.14.0-687.10.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 2 10:15:42 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux

С -a в одной строке выводятся имя ядра, имя хоста, версия ядра, дата сборки и архитектура. Из них x86_64 — архитектура CPU, то же значение, что в строке Architecture у lscpu.

🔲 Симулятор проверки CPU в Linux

В симуляторе ниже вы можете сами ввести nproc, lscpu, free, df, lsblk и uname и посмотреть вывод. Значения — те же примерные значения, что в тексте.

Симулятор проверки CPU в LinuxAlmaLinux 9.8
[root@server work]#
Клавишами ↑↓ можно вызвать ранее введённые команды.

🔢 FAQ & рекомендуемые материалы

Могут. Согласно руководству nproc, nproc выводит число вычислительных блоков, доступных текущему процессу, поэтому в средах, где ограничены процессоры, которые может использовать процесс, оно меньше числа процессоров в сети. Общее число установленных процессоров проверяют командой nproc [--all]. На тестовом сервере оба значения совпали.

Столбец free — это пустая память, которая ничему не выделена. Согласно руководству free, available — оценка памяти, доступной для запуска новых программ без подкачки. Её считают, складывая освобождаемый страничный кеш и возвращаемую slab-память, поэтому, оценивая свободную память, смотрите на available.

Если Thread(s) per core в lscpu равно 2, на каждом ядре работают два логических процессора. В /proc/cpuinfo siblings вдвое больше cpu cores, а значение файла /sys/devices/system/cpu/smt/active равно 1. На том же сервере все три показали значение «включено».

ℹ️ О партнёрских ссылках
Материалы этого сайта содержат партнёрские ссылки. Если посетитель покупает товар или услугу по такой ссылке, сайт получает комиссию от продавца. При этом сумма, которую платит покупатель (при акционных скидках сумма снижается ↓), не увеличивается. Указанные цены, скидки и наличие актуальны на момент написания и могут отличаться, поэтому перед покупкой уточняйте их у продавца. Товары выбираются и оцениваются по нашим собственным критериям, а комиссия не влияет ни на порядок, ни на содержание обзоров.

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

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

Докажите, что вы человек: 3   +   1   =