CPU controleren in Linux: nproc, lscpu en info over RAM, schijf en OS
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.
| Commando | Wat het toont |
|---|---|
| nproc | Aantal bruikbare CPU's (logische cores) |
| lscpu | CPU-model, sockets, cores, threads |
| free -h | Totaal, gebruikt en vrij RAM |
| df -h | Schijfgebruik per bestandssysteem |
| lsblk | Indeling van schijven en partities |
| cat /etc/os-release | Naam en versie van de distributie |
| uname -r | Kernelversie |
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.
nproc4Volgens 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 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): 1Socket(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 -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 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.
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/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:Dit zijn de tien velden die je het vaakst bekijkt.
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/cpuinfo4grep -E 'siblings|cpu cores' /proc/cpuinfo | sort -ucpu cores : 2
siblings : 4Er 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/active1Volgens 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.40GHzDe 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.4GiVrij 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 1407De 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/meminfoMemTotal: 8055808 kB
MemFree: 793600 kB
MemAvailable: 3481600 kB
Buffers: 32 kB
Cached: 2856960 kBDeel 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 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 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 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 /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-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-01De 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-releaseAlmaLinux release 9.8 (Olive Jaguar)Kernelversie: uname -r toont die in één regel.
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/LinuxMet -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.
🔢 FAQ & aanbevolen content
Linux · Systeeminfo
Linux uptime-commando
Een commando dat de uptime van de server en de gemiddelde belasting over 1, 5 en 15 minuten in één regel toont.
Linux · Belasting
Wat is Load Average in Linux?
Zo lees je de gemiddelde belasting over 1, 5 en 15 minuten uit top en uptime af tegen het aantal cores.
Linux · Geheugen
Swapgeheugen instellen
Twee manieren om schijfruimte als swapgeheugen in te richten voor als het RAM tekortschiet.
ℹ️ 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.