Sprawdzanie CPU w Linuksie: nproc, lscpu oraz informacje o RAM, dysku i systemie

Środowisko testoweRodzina RHELAlmaLinux 9.8konto rootSprawdzono 2026-10-29
Polecenia informacji · ustawień systemunproclscpufreedflsblkuname

W Linuksie liczbę procesorów sprawdzasz jedną linijką nproc, a lscpu pokazuje, czy ta liczba liczy gniazda, rdzenie czy wątki. Po porównaniu nproc, lscpu i /proc/cpuinfo na serwerze AlmaLinux 9 trzy polecenia wypisały tę samą liczbę logicznych procesorów pod różnymi nazwami, takimi jak CPU(s) i processor. RAM, dysk i wersję systemu sprawdzono na tym samym serwerze za pomocą free, df, lsblk i uname.

Model CPU, liczba rdzeni, rozmiar pamięci i dysku oraz wersja jądra w wynikach poniżej to wartości przykładowe. Co pokazuje każde polecenie, zebrano najpierw w tabeli.

PolecenieCo pokazuje
nprocLiczba dostępnych CPU (rdzenie logiczne)
lscpuModel CPU, gniazda, rdzenie, wątki
free -hRAM łącznie, zajęta i wolna
df -hZajętość dysku według systemu plików
lsblkUkład dysków i partycji
cat /etc/os-releaseNazwa i wersja dystrybucji
uname -rWersja jądra

1️⃣ Sprawdzanie CPU w Linuksie: nproc i lscpu

CPU(s) w lscpu to liczba logicznych procesorów, których używa system operacyjny, a liczbę fizycznych rdzeni odczytujesz osobno z wiersza Core(s) per socket. CPU(s) oblicza się jako gniazda × rdzenie na gniazdo × wątki na rdzeń.

Jeśli potrzebujesz tylko liczby logicznych procesorów, wystarczy jedna linijka nproc.

nproc
4

Według podręcznika nproc ta wartość to liczba jednostek przetwarzania dostępnych dla bieżącego procesu, więc w środowiskach ograniczających użycie CPU może być mniejsza niż liczba aktywnych procesorów.

Skąd bierze się ta 4, widać na początku wyniku 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

Po pomnożeniu Socket(s) 1, Core(s) per socket 2 i Thread(s) per core 2 wychodzi 4 w CPU(s). 0-3 w On-line CPU(s) list to numery logicznych procesorów nadane przez system operacyjny.

vCPU w cenniku AWS EC2 to także ta jednostka logicznego procesora. Według oficjalnej dokumentacji EC2 liczy jeden wątek rdzenia CPU jako jedną vCPU. Instancja z 2 rdzeniami i 2 wątkami na rdzeń ma 4 vCPU, czyli taką samą strukturę jak wynik lscpu powyżej.

Do którego rdzenia należy każdy z czterech logicznych procesorów, pokazuje w tabeli opcja -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 i 2 dzielą CORE 0, a CPU 1 i 3 dzielą CORE 1. Dwa logiczne procesory na jednym rdzeniu to hyper-threading (SMT). Na diagramie poniżej możesz naciskać przyciski poleceń i porównać, pod jakimi nazwami trzy polecenia pokazują tę strukturę.

🧭 Skąd bierze się CPU(s) 4
Diagram objaśniający
🔍 Polecenie
$ nproclscpucat /proc/cpuinfo
Gniazdo 0Socket(s): 1physical id : 0
Rdzeń 0Core(s) per socket: 2core id : 0
CPU 0processor : 0
CPU 2processor : 2
Thread(s) per core: 2cpu cores : 2
Rdzeń 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 liczy logiczne procesory dostępne dla bieżącego procesu i wypisuje 4. Nie dzieli ich na gniazda i rdzenie.
lscpu wypisuje tę samą strukturę podzieloną na Socket(s) 1, Core(s) per socket 2 i Thread(s) per core 2, a iloczyn tych trzech, 4, to CPU(s).
/proc/cpuinfo wypisuje cztery bloki, numerując każdy logiczny procesor polem processor, a gniazdo zapisuje jako physical id, rdzeń zaś jako core id. siblings 4 to liczba logicznych procesorów w tym samym gnieździe, a cpu cores 2 to liczba fizycznych rdzeni.

2️⃣ Informacje o CPU w Linuksie: /proc/cpuinfo

Źródłem liczb, które podsumowuje lscpu, jest plik /proc/cpuinfo. Jądro zapisuje jeden blok na każdy logiczny procesor, więc na serwerze z CPU(s) 4 ten sam blok powtarza się cztery razy z rzędu.

Polecenie cat wypisuje cały plik ze wszystkimi czterema blokami, a po przycięciu przez head jak poniżej widać tylko pierwszy blok.

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:

Oto dziesięć pól, na które będziesz patrzeć najczęściej.

  • 🔢 processor
  • ↳ Numer logicznego procesora (od 0)
  • 🏷️ model name
  • ↳ Nazwa modelu CPU
  • 🧩 physical id
  • ↳ Numer gniazda, do którego należy ten procesor
  • 👥 siblings
  • ↳ Liczba logicznych procesorów w tym samym gnieździe (przy hyper-threadingu dwa razy więcej niż cpu cores)
  • 🧱 cpu cores
  • ↳ Liczba fizycznych rdzeni w tym samym gnieździe
  • 🆔 core id
  • ↳ Numer rdzenia, do którego należy ten logiczny procesor
  • ⏱️ cpu MHz
  • ↳ Bieżące taktowanie (MHz)
  • 🗄️ cache size
  • ↳ Rozmiar pamięci podręcznej (ta sama wartość co L3 cache w lscpu)
  • 🚩 flags
  • ↳ Funkcje i zestawy instrukcji obsługiwane przez CPU (ht, avx2, aes itd.)
  • 📐 address sizes
  • ↳ Liczba bitów adresów fizycznych i wirtualnych

Licząc wiersze processor, poznajesz liczbę procesorów, a porównując siblings z cpu cores, widzisz, czy hyper-threading jest włączony.

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

Są 4 wiersze processor, siblings to 4, a cpu cores to 2, więc każdy rdzeń wykonuje dwa wątki. To samo potwierdzono też wartością, którą jądro zapisuje w /sys.

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

Według dokumentacji jądra 1 oznacza, że SMT jest włączone, a bratnie procesory są aktywne. Gdy jest wyłączone, pojawia się 0.

Jeśli potrzebujesz tylko nazwy modelu CPU, zbierz wiersze model name.

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

4 na początku oznacza, że ten sam wiersz pojawił się cztery razy, więc w jednym wierszu widzisz nazwę modelu i od razu liczbę logicznych procesorów.

3️⃣ Sprawdzanie RAM w Linuksie: free i /proc/meminfo

Rozmiar RAM sprawdzasz za pomocą polecenia free. Z opcją -h wartości pojawiają się w jednostkach Gi i 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

Wolną pamięć odczytujesz z kolumny available. Nawet gdy kolumna free jest mała, Linux wypełnia niewykorzystaną pamięć pamięcią podręczną plików (buff/cache) i zwalnia ją, gdy tylko program jej potrzebuje.

Jak w wyniku powyżej, kolumna free może pokazywać 775Mi, a available 3.3Gi. Według podręcznika free available to szacunek pamięci dostępnej do uruchamiania nowych programów bez swapu.

Do obliczeń w skryptach właściwa jest opcja -m. Wypisuje liczby całkowite w MiB.

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

Źródłem, które czyta free, jest /proc/meminfo. Pierwsze pięć wierszy odpowiada polom total, free, available i buff/cache w free, a jednostką jest kB.

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

Po podzieleniu MemTotal 8055808 kB przez 1024 otrzymasz tę samą wartość co 7867 w free -m.

4️⃣ Sprawdzanie miejsca na dysku w Linuksie: df i lsblk

Polecenie df wypisuje rozmiar i zajętość zamontowanych systemów plików, więc nie nadaje się do niezamontowanych dysków ani do sprawdzania układu partycji. Wtedy użyj 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 to opcja, która usuwa z listy systemy plików loop montowane przez pakiety snap tylko do odczytu. Główny system plików (/) używa 10G z 79G, czyli 13%, a devtmpfs i tmpfs to systemy plików tworzone w pamięci, więc pomija się je przy liczeniu miejsca na dysku.

Aby zobaczyć też typ systemu plików, dodaj -T; jeśli podasz ścieżkę, pojawi się tylko wiersz systemu plików, do którego ta ścieżka należy.

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

Katalog główny był w xfs. Jak podzielone są dysk i partycje, sprawdzisz poleceniem lsblk. Z -e 7 znikają urządzenia loop, takie jak snap, i zostają tylko prawdziwe dyski.

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 /

Jeden dysk, nvme0n1, jest podzielony na cztery partycje, a z nich nvme0n1p4 jest zamontowana jako katalog główny i odpowiada wierszowi 79G w df.

5️⃣ Sprawdzanie wersji systemu i jądra w Linuksie: os-release i uname

Po odczytaniu liczb dla CPU, pamięci i dysku sprawdź też, na jakiej dystrybucji i jakim jądrze działa serwer. Nazwa dystrybucji, wersja i data końca wsparcia są w jednym pliku, /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

Wiersz PRETTY_NAME to nazwa czytelna dla ludzi, a VERSION_ID to numer wersji porównywany przez skrypty. Wierszem SUPPORT_END sprawdzono też datę końca wsparcia.

W systemach opartych na RHEL tę samą wersję w jednym wierszu pokazuje też /etc/redhat-release.

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

Wersja jądra: uname -r wypisuje ją w jednym wierszu.

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

Z -a w jednym wierszu pojawiają się nazwa jądra, nazwa hosta, wersja jądra, data kompilacji i architektura. Z nich x86_64 to architektura CPU, ta sama wartość co w wierszu Architecture w lscpu.

🔲 Symulator sprawdzania CPU w Linuksie

W symulatorze poniżej możesz sam wpisać nproc, lscpu, free, df, lsblk i uname i sprawdzić wynik. Wartości są tymi samymi wartościami przykładowymi co w tekście.

Symulator sprawdzania CPU w LinuksieAlmaLinux 9.8
[root@server work]#
Klawiszami ↑↓ przywołasz wcześniej wpisane polecenia.

🔢 FAQ & polecane treści

Tak, mogą. Według podręcznika nproc polecenie nproc wypisuje liczbę jednostek przetwarzania dostępnych dla bieżącego procesu, więc w środowiskach ograniczających procesory, z których może korzystać proces, jest ona mniejsza niż liczba aktywnych procesorów. Łączną liczbę zainstalowanych procesorów sprawdzasz poleceniem nproc [--all]. Na testowanym serwerze obie wartości były takie same.

Kolumna free to pusta pamięć, nieprzydzielona do niczego. Według podręcznika free available to szacunek pamięci dostępnej do uruchamiania nowych programów bez swapu. Oblicza się ją, dodając zwalnialną pamięć podręczną stron i odzyskiwalną pamięć slab, dlatego oceniając wolną pamięć, patrz na available.

Jeśli Thread(s) per core w lscpu wynosi 2, każdy rdzeń wykonuje dwa logiczne procesory. W /proc/cpuinfo siblings jest dwa razy większe niż cpu cores, a wartość pliku /sys/devices/system/cpu/smt/active to 1. Na tym samym serwerze wszystkie trzy wskazały, że funkcja jest włączona.

ℹ️ Informacja o linkach partnerskich
Treści tej witryny zawierają linki partnerskie. Jeśli odwiedzający kupi produkt lub usługę przez taki link, witryna otrzymuje od sprzedawcy prowizję. Kwota płacona przy tym przez kupującego (podczas promocji spada↓) nie wzrasta. Podane ceny, rabaty i dostępność odnoszą się do chwili pisania i mogą różnić się od stanu faktycznego, dlatego przed zakupem sprawdź je u sprzedawcy. Produkty wybieramy i oceniamy według własnych kryteriów, a prowizja nie wpływa ani na kolejność prezentacji, ani na treść ocen.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Prove your humanity: 10   +   2   =