GNU/Linux >> Znalost Linux >  >> Linux

Počet procesorů v /proc/cpuinfo

Slova „CPU“, „procesor“ a „jádro“ se používají poněkud matoucím způsobem. Odkazují na architekturu procesoru. Jádro je nejmenší nezávislá jednotka, která implementuje univerzální procesor; procesor je sestava jader (na některých systémech ARM je procesor sestava klastrů, které samy jsou sestavami jader). Čip může obsahovat jeden nebo více procesorů (čipy x86 obsahují jeden procesor, v tomto smyslu slova procesor ).

Hyperthreading znamená, že některé části jádra jsou duplikovány. Jádro s hyperthreadingem je někdy prezentováno jako sestavení dvou „virtuálních jader“ – což neznamená, že každé jádro je virtuální, ale že množné číslo je virtuální, protože se ve skutečnosti nejedná o samostatná jádra a někdy budou muset počkat, dokud bude druhé jádro pomocí sdílené části.

Pokud jde o software, existuje pouze jeden koncept, který je užitečný téměř všude:pojem paralelních vláken provádění. Takže ve většině softwarových příruček jsou výrazy CPU a procesor se používají k označení jakéhokoli jednoho hardwaru, který provádí programový kód. Z hlediska hardwaru to znamená jedno jádro nebo jedno virtuální jádro s hyperthreadingem.

Tedy top zobrazí 4 CPU, protože můžete mít 4 vlákna spuštěná současně. /proc/cpuinfo má 4 položky, jednu pro každý CPU (v tomto smyslu). processor čísla (což jsou čísla cpuNUMBER záznamy v /sys/devices/system/cpu ) odpovídají těmto 4 vláknům.

/proc/cpuinfo je jedním z mála míst, kde získáte informace o tom, jaký hardware implementuje tato vlákna provádění:

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

znamená, že cpu0 je jedním ze 4 vláken uvnitř fyzické komponenty (procesoru) číslo 0, a to je v jádru 0 mezi 2 v tomto procesoru.


Stačí odpovědět na vaši první otázku. Ve výstupu cat /proc/cpuinfo můžete vidět následující informace:-

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

Můžete vidět počet siblings is 4 a cpu cores is 2 . cpu cores 2 je celkový počet jader v procesoru, který lze zkontrolovat podle specifikace uvedené v adrese URL společnosti Intel, kterou jste uvedli. Podobně siblings je ten, který je určen počtem vláken, které poskytuje HTT společnosti intel.

Podobně pro fyzické ID jeho 0 což znamená, že existuje pouze jeden procesorový čip a pro ID jádra můžete vidět 0 and 1 to jsou 2 jádra v procesoru.

Aktualizace: Přidávání odpovědí na další otázky.

A co turbo boost? Jsou všechna jádra turbo booster nebo pouze fyzická?

No řeknu, všechna aktivní jádra jsou turbo-boosted. Hej kamaráde, měl jsi se podívat na příklady z naší milované Wikipedie. Vysvětleno také výpočty.

Any method in ubuntu to get current cpu freq. if processor is on turbo boost or not.

Turbo boost nebo ne můžete detaily frekvence na výstupu lscpu . A pro rafinovaný výstup:-

lscpu | grep Hz

Můžete to zkusit v terminálu:

sudo lscpu

Získáte tak přehled o fyzických vlastnostech vašeho CPU. Pokud jde o turbo boost nebo ne, jedná se čistě o hardwarové ovládání než u samotného operačního systému, takže pokud Intel nemá specifické ovladače pro Linux, které dokážou vyladit rychlost vašeho procesoru, neexistuje žádný pevný vodítko pro kontrolu stavu turbo boost (pokud neexistuje příkazový kód pro it. Podívejte se na jiná fóra, pokud existují nějaké vodítka týkající se vaší otázky).

Pokud jde o mě, to je to, co dostanu, když napíšu výše uvedený příkaz. Moje AMD řekla, že je čtyřjádrové, ale moje fyzické jádro uvedené zde je pouze 2, se 2 vlákny na jádro (přidává až 4 jádra). Používám procesor AMD A10 APU 5750m.

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:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            21
Model:                 19
Stepping:              1
CPU MHz:               2500.000
BogoMIPS:              4990.51
Virtualization:        AMD-V
L1d cache:             16K
L1i cache:             64K
L2 cache:              2048K
NUMA node0 CPU(s):     0-3

Linux
  1. Jaký je ekvivalent /proc/cpuinfo na FreeBSD v8.1?

  2. /proc/[pid]/pagemaps a /proc/[pid]/maps | linux

  3. Jak získat počet CPU/jádr v Linuxu z příkazového řádku?

  1. Změna umístění výpisu jádra

  2. Kdy mám použít /dev/shm/ a kdy /tmp/?

  3. Jak zjistit, ze které složky běží proces?

  1. Linux – Co znamenají příznaky v /proc/cpuinfo?

  2. Linux – propojení /proc/mnt s /proc/mounts?

  3. Zjistěte, která jádra HT sdílejí fyzické jádro, z /proc/cpuinfo