CPU controleren in Linux: nproc, lscpu en info over RAM, schijf en OS

TestomgevingRHEL-familieAlmaLinux 9.8root-accountGecontroleerd op 2026-10-29
Commando's voor systeeminfo · instellingennproclscpufreedflsblkuname

In Linux controleer je het aantal CPU's met één regel nproc, en met lscpu zie je of dat getal sockets, cores of threads telt. Bij een vergelijking van nproc, lscpu en /proc/cpuinfo op een AlmaLinux 9-server gaven de drie commando's hetzelfde aantal logische CPU's onder verschillende namen, zoals CPU(s) en processor. RAM, schijf en OS-versie zijn op dezelfde server ook gecontroleerd met free, df, lsblk en uname.

Het CPU-model, het aantal cores, de geheugen- en schijfgrootte en de kernelversie in de uitvoer hieronder zijn voorbeeldwaarden. Wat elk commando toont, staat eerst samengevat in een tabel.

CommandoWat het toont
nprocAantal bruikbare CPU's (logische cores)
lscpuCPU-model, sockets, cores, threads
free -hTotaal, gebruikt en vrij RAM
df -hSchijfgebruik per bestandssysteem
lsblkIndeling van schijven en partities
cat /etc/os-releaseNaam en versie van de distributie
uname -rKernelversie

1️⃣ CPU controleren in Linux: nproc en lscpu

CPU(s) in lscpu is het aantal logische CPU's dat het besturingssysteem gebruikt; het aantal fysieke cores lees je apart af in de regel Core(s) per socket. CPU(s) wordt berekend als sockets × cores per socket × threads per core.

Heb je alleen het aantal logische CPU's nodig, dan volstaat één regel nproc.

nproc
4

Volgens de handleiding van nproc is deze waarde het aantal verwerkingseenheden dat het huidige proces kan gebruiken. In omgevingen die het CPU-gebruik beperken, kan het dus lager uitvallen dan het aantal actieve processors.

Hoe deze 4 tot stand komt, staat bovenaan de uitvoer van 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 en Thread(s) per core 2 vermenigvuldigd geven de 4 bij CPU(s). De 0-3 in On-line CPU(s) list zijn de logische CPU-nummers die het besturingssysteem toekent.

Ook de vCPU in de prijslijst van AWS EC2 is deze logische CPU-eenheid. Volgens de officiële documentatie telt EC2 één thread van een CPU-core als één vCPU. Een instance met 2 cores en 2 threads per core heeft 4 vCPU's, dezelfde opbouw als de lscpu-uitvoer hierboven.

Bij welke core de vier logische CPU's horen, toont de optie -e in een tabel.

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 en 2 delen CORE 0, en CPU 1 en 3 delen CORE 1. Deze opbouw, met twee logische CPU's op één core, is hyperthreading (SMT). In het diagram hieronder kun je op de commandoknoppen drukken om te vergelijken onder welke namen de drie commando's deze opbouw tonen.

🧭 Hoe CPU(s) 4 ontstaat
Uitlegdiagram
🔍 Commando
$ nproclscpucat /proc/cpuinfo
Socket 0Socket(s): 1physical id : 0
Core 0Core(s) per socket: 2core id : 0
CPU 0processor : 0
CPU 2processor : 2
Thread(s) per core: 2cpu cores : 2
Core 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 telt de logische CPU's die het huidige proces kan gebruiken en toont 4. Het verdeelt ze niet in sockets en cores.
lscpu toont dezelfde opbouw verdeeld in Socket(s) 1, Core(s) per socket 2 en Thread(s) per core 2, en het product van die drie, 4, is CPU(s).
/proc/cpuinfo toont vier blokken, nummert elke logische CPU met processor en noteert de socket als physical id en de core als core id. siblings 4 is het aantal logische CPU's in dezelfde socket, cpu cores 2 het aantal fysieke cores.

2️⃣ CPU-info bekijken in Linux: /proc/cpuinfo

De bron van de getallen die lscpu samenvat, is het bestand /proc/cpuinfo. De kernel schrijft per logische CPU één blok, dus op een server met CPU(s) 4 volgt hetzelfde blok vier keer na elkaar.

Het cat-commando toont het hele bestand met alle vier blokken; knip je het af met head zoals hieronder, dan verschijnt alleen het eerste 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:

Dit zijn de tien velden die je het vaakst bekijkt.

  • 🔢 processor
  • ↳ Logisch CPU-nummer (begint bij 0)
  • 🏷️ model name
  • ↳ Naam van het CPU-model
  • 🧩 physical id
  • ↳ Socketnummer waar deze CPU bij hoort
  • 👥 siblings
  • ↳ Aantal logische CPU's in dezelfde socket (bij hyperthreading het dubbele van cpu cores)
  • 🧱 cpu cores
  • ↳ Aantal fysieke cores in dezelfde socket
  • 🆔 core id
  • ↳ Corenummer waar deze logische CPU bij hoort
  • ⏱️ cpu MHz
  • ↳ Huidige kloksnelheid (MHz)
  • 🗄️ cache size
  • ↳ Cachegrootte (dezelfde waarde als L3 cache in lscpu)
  • 🚩 flags
  • ↳ Functies en instructiesets die de CPU ondersteunt (ht, avx2, aes enz.)
  • 📐 address sizes
  • ↳ Aantal bits van fysieke en virtuele adressen

Tel je de processor-regels, dan weet je het aantal CPU's; vergelijk je siblings met cpu cores, dan zie je of hyperthreading aan staat.

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

Er zijn 4 processor-regels, siblings is 4 en cpu cores is 2, dus elke core draait twee threads. Hetzelfde is ook bevestigd met de waarde die de kernel in /sys schrijft.

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

Volgens de kerneldocumentatie betekent 1 dat SMT aan staat en de broer-CPU's online zijn. Staat het uit, dan verschijnt 0.

Heb je alleen de naam van het CPU-model nodig, verzamel dan de model name-regels.

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

De 4 vooraan betekent dat dezelfde regel vier keer voorkwam, dus in één regel zie je de modelnaam en meteen het aantal logische CPU's.

3️⃣ RAM-grootte controleren in Linux: free en /proc/meminfo

De RAM-grootte controleer je met het free-commando. Met de optie -h verschijnen de waarden in Gi en 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

Vrij geheugen lees je af in de kolom available. Ook als de kolom free klein is, vult Linux ongebruikt geheugen met bestandscache (buff/cache) en geeft het meteen vrij zodra een programma het nodig heeft.

Zoals in de uitvoer hierboven kan de kolom free 775Mi tonen terwijl available 3.3Gi is. Volgens de handleiding van free is available een schatting van het geheugen waarmee nieuwe programma's zonder swap kunnen starten.

Voor berekeningen in scripts is de optie -m de juiste. Die toont gehele getallen in MiB.

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

De bron die free leest, is /proc/meminfo. De eerste vijf regels komen overeen met total, free, available en buff/cache in free, en de eenheid is kB.

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

Deel je MemTotal 8055808 kB door 1024, dan krijg je dezelfde waarde als 7867 in free -m.

4️⃣ Schijfruimte controleren in Linux: df en lsblk

df-commando toont de grootte en het gebruik van gekoppelde bestandssystemen en past dus niet bij niet-gekoppelde schijven of een blik op de partitie-indeling. Gebruik daarvoor 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 laat de loop-bestandssystemen weg die snap-pakketten alleen-lezen koppelen. Het root-bestandssysteem (/) gebruikt 10G van 79G, oftewel 13%, en devtmpfs en tmpfs zijn bestandssystemen in het geheugen, dus die tellen niet mee voor de schijfruimte.

Wil je ook het type bestandssysteem zien, voeg dan -T toe; geef je een pad op, dan verschijnt alleen de regel van het bestandssysteem waar dat pad bij hoort.

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

Het root-bestandssysteem was xfs. Hoe de schijf en partities zijn ingedeeld, zie je met lsblk. Met -e 7 vallen loop-apparaten zoals snap weg en blijven alleen de echte schijven over.

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 /

Eén schijf, nvme0n1, is verdeeld in vier partities, en daarvan is nvme0n1p4 op root gekoppeld, wat past bij de regel van 79G in df.

5️⃣ OS-versie en kernel controleren in Linux: os-release en uname

Heb je de getallen voor CPU, geheugen en schijf gelezen, controleer dan ook op welke distributie en kernel de server draait. Naam van de distributie, versie en einde van de ondersteuning staan allemaal in één bestand, /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

De regel PRETTY_NAME is de leesbare naam, en VERSION_ID is het versienummer dat scripts vergelijken. Met de regel SUPPORT_END is ook de einddatum van de ondersteuning gecontroleerd.

Op RHEL-gebaseerde systemen toont /etc/redhat-release dezelfde versie ook in één regel.

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

Kernelversie: uname -r toont die in één regel.

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

Met -a verschijnen kernelnaam, hostnaam, kernelversie, builddatum en architectuur op één regel. Daarvan is x86_64 de CPU-architectuur, dezelfde waarde als de regel Architecture in lscpu.

🔲 Simulator voor CPU controleren in Linux

In de simulator hieronder kun je zelf nproc, lscpu, free, df, lsblk en uname invoeren en de uitvoer bekijken. De waarden zijn dezelfde voorbeeldwaarden als in de tekst.

Simulator voor CPU controleren in LinuxAlmaLinux 9.8
[root@server work]#
Met de toetsen ↑↓ haal je eerder ingetypte commando's terug.

🔢 FAQ & aanbevolen content

Ja, dat kan. Volgens de handleiding van nproc toont nproc het aantal verwerkingseenheden dat het huidige proces kan gebruiken. In omgevingen die beperken welke CPU's een proces mag gebruiken, is het dus kleiner dan het aantal actieve processors. Het totale aantal geïnstalleerde processors controleer je met nproc [--all]. Op de testserver waren beide waarden gelijk.

De kolom free is geheugen dat nergens aan is toegewezen en leeg is. Volgens de handleiding van free is available een schatting van het geheugen waarmee nieuwe programma's zonder swap kunnen starten. Het wordt berekend door vrij te maken paginacache en terug te winnen slab-geheugen op te tellen, dus kijk naar available om vrij geheugen te beoordelen.

Als Thread(s) per core in lscpu 2 is, draait elke core twee logische CPU's. In /proc/cpuinfo is siblings het dubbele van cpu cores, en de waarde van het bestand /sys/devices/system/cpu/smt/active is 1. Op dezelfde server gaven alle drie aan dat het aan stond.

ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Laat zien dat je geen machine bent: 4   +   2   =