GNU/Linux >> Znalost Linux >  >> Linux

Proč top zobrazuje jiný počet jader než cpuinfo?

X5560 je jeden čip . Vypadá to takto:

grep "physical id" vám říká, že máte nainstalovaný JEDEN fyzický procesor.

Pokud sundáte rozvaděč tepla z horní části, můžete vidět toto – jedinou fyzickou kostku (obrázkem dolů):

Pokud byste mohli vyjmout kostku a převrátit ji, vypadalo by to takto:

Na této jediné fyzické kostce jsou čtyři fyzická jádra CPU zabudované na křemíku:

grep "cpu cores" vám říká, že váš procesor má zabudovaná čtyři fyzická jádra.

Každé jádro je jeden procesor s jednotkou s plovoucí desetinnou čárkou, řadou jednotek pro provádění celých čísel, párem zásobníků registrů a nějakým dalším kouzlením, které umožňuje každému jednotlivému jádru efektivně provádět dva nezávislé toky instrukcí (vlákna) současně.

top říká vám, že všechny procesory a jádra ve vašem počítači mohou společně provádět osm nezávislých pracovních postupů najednou – říká vám, že operační systém je schopen naplánovat spuštění osmi současných vláken v kteroukoli danou chvíli.


Jaký CPU používáš? Kolik vláken je přítomno na fyzické jádro?

cat /proc/cpuinfo ukazuje počet fyzického jádra, zatímco top zobrazuje celkový počet přítomných vláken.

Myslím, že váš procesor má 4 fyzická jádra a 2 logická jádra na fyzické jádro. Takže je to top ukazuje 8.

Navíc obsah /proc/cpuinfo trochu závisí na implementaci. Stejně jako v rootovaném prostředí Androidu je cpuinfo soubor neobsahuje žádný výraz cpu cores .

Nicméně v cpuinfo každé vlákno je pojmenováno jako processor : X , kde X je vlákno č. Takže poslední vlákno ne musí být stejné jako top/htop výstup.

Výsledek nproc --all musí být také v souladu s top/htop


top zobrazuje jeden „CPU“ na logický CPU; na x86 je to součin počtu soketů v systému, počtu fyzických jader na soket a počtu vláken na jádro.

cpu cores záznam v /proc/cpuinfo , opět na x86, ukazuje počet fyzických jader. Chcete-li zjistit počet logických jader, jak se používá v top , měli byste se podívat na siblings hodnota místo toho:

cat /proc/cpuinfo | grep "siblings" | uniq

Toto je podrobně popsáno v dokumentaci jádra.

lscpu poskytuje informace o nainstalovaných CPU, které jsou srozumitelnější než /proc/cpuinfo (nebo spíše prezentuje stejné informace jednodušším způsobem).


Linux
  1. Proč má Ls -l na výstupu jinou velikost než Ls -s?

  2. Proč Linux používá odkládací oddíl místo souboru?

  3. Proč dd z /dev/random dává různé velikosti souborů?

  1. Proč najde . -type F` Trvat déle než `najít .`?

  2. Proč se heslo 'sudo' liší od hesla 'su root'

  3. Proč find -mtime nefunguje podle očekávání u souborů s různými časovými pásmy?

  1. Proč „ukončit &“ nefunguje?

  2. Proč Lun World Wide ID začíná číslem 3 v Linuxu dm-multipath

  3. Proč uniq počítá stejná slova jako různá?