Sprawdzanie CPU w Linuksie: nproc, lscpu oraz informacje o RAM, dysku i systemie
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.
| Polecenie | Co pokazuje |
|---|---|
| nproc | Liczba dostępnych CPU (rdzenie logiczne) |
| lscpu | Model CPU, gniazda, rdzenie, wątki |
| free -h | RAM łącznie, zajęta i wolna |
| df -h | Zajętość dysku według systemu plików |
| lsblk | Układ dysków i partycji |
| cat /etc/os-release | Nazwa i wersja dystrybucji |
| uname -r | Wersja 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.
nproc4Wedł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 15Architecture: 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): 1Po 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 -eCPU 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 yesCPU 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ę.
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/cpuinfoprocessor : 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.
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/cpuinfo4grep -E 'siblings|cpu cores' /proc/cpuinfo | sort -ucpu cores : 2
siblings : 4Są 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/active1Wedł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.40GHz4 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.4GiWolną 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/meminfoMemTotal: 8055808 kB
MemFree: 793600 kB
MemAvailable: 3481600 kB
Buffers: 32 kB
Cached: 2856960 kBPo 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 squashfsFilesystem 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 7NAME 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-releaseNAME="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-01Wiersz 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-releaseAlmaLinux release 9.8 (Olive Jaguar)Wersja jądra: uname -r wypisuje ją w jednym wierszu.
uname -r5.14.0-687.10.1.el9_8.x86_64uname -aLinux 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/LinuxZ -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.
🔢 FAQ & polecane treści
Linux · Informacje o systemie
Polecenie uptime w Linuksie
Polecenie, które w jednym wierszu pokazuje czas pracy serwera i średnie obciążenie z 1, 5 i 15 minut.
Linux · Obciążenie
Czym jest Load Average w Linuksie?
Jak odczytywać średnie obciążenie z 1, 5 i 15 minut pokazywane przez top i uptime w odniesieniu do liczby rdzeni.
Linux · Pamięć
Konfiguracja pamięci swap
Dwa sposoby na zamianę miejsca na dysku w pamięć swap na wypadek braku RAM.
ℹ️ 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.