Ako zistiť počet jadier systému v Linuxe?

Chcel som zistiť, koľko jadier má môj systém, a tak som tú istú otázku vyhľadal v Googli. Dostal som niekoľko príkazov, napríklad príkaz lscpu. Keď som tento príkaz vyskúšal, dal mi nasledujúci výsledok:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 23
Stepping:              10
CPU MHz:               1998.000
BogoMIPS:              5302.48
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              2048K
NUMA node0 CPU(s):     0-3

Konkrétne tento výstup ukazuje:

  • CPU(s): 4
  • Jadro(-á) na socket: 4
  • Rodina CPU: 6

Ktorý z týchto údajov označuje jadrá systému Linux?

Existuje nejaký iný príkaz na zistenie počtu jadier, alebo predpokladám, že je úplne nesprávny?

Riešenie

Musíte sa pozrieť na sockety a jadrá na jeden socket. V tomto prípade máte 1 fyzický procesor (socket), ktorý má 4 jadrá (jadrá na socket).

Komentáre (2)

Môžete tiež použiť príkaz cat /proc/cpuinfo, ktorý vypíše časť údajov pre každé jadro. Každý kúsok začína týmito informáciami:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 60
model name  : Intel(R) Core(TM) i5-4210M CPU @ 2.60GHz
(...)

Jadrá sú číslované od 0, takže ak je v poslednom chune napísané procesor : 3 ako v tomto prípade, váš počítač má 4 jadrá.

Komentáre (2)

Rodina procesora je v tomto prípade irelevantná.

  • CPU = fyzické zásuvky
  • Jadro(-á) na zásuvku - ako sa uvádza
  • takže celkový počet jadier = CPU(s) * Jadro(a) na zásuvku

Vo vašom prípade máte celkovo 4 plnohodnotné jadrá.

Dôležitý môže byť aj údaj "Thread(s) per core". Vy však máte 1, takže vo vašom prípade nie.

Komentáre (2)