GNU/Linux >> Znalost Linux >  >> Linux

Určení konkrétního procesoru, na kterém běží proces

ps vám tyto informace poskytne, pokud požádáte o psr (nebo použijte -F příznak, který jej obsahuje).

Příklad:

$ ps -F $$
UID        PID  PPID  C    SZ   RSS PSR STIME TTY      STAT   TIME CMD
me        6415  6413  0  5210  2624   2 18:52 pts/0    SN     0:00 -su

Nebo:

$ ps -o pid,psr,comm -p $$
  PID PSR COMMAND
 6415   0 bash

Můj shell běžel na CPU 2, když jsem spustil první příkaz, na CPU 0, když jsem spustil druhý. Pozor, procesy mohou velmi, velmi rychle měnit CPU, takže informace, které skutečně vidíte, jsou v podstatě již zastaralé.

Některé další informace v odpovědích na tuto otázku superuživatele:

Linux:příkaz ke zjištění čísla procesoru, ve kterém je načten proces?


S top od procps (obecně výchozí v dnešních distribucích Linuxu), v top , stiskněte f , přejděte na P = Last User CPU (SMP) a stiskněte Mezerník pro výběr (můžete také pole přesunout například před COMMAND pole s vpravo a poté pohyb nahoru a dolů). q se vraťte na hlavní obrazovku (kde uvidíte, jak se váš proces přesouvá z procesoru na procesor, pokud jste jej výslovně nenastavili tak, aby zůstal u jednoho). Můžete stisknout W uložit jako výchozí.

Stiskněte ? o pomoc.


Příkaz taskset je to, co hledáte:

taskset – načtení nebo nastavení afinity CPU procesu

Příklad

$ taskset -p 12345
pid 12345's current affinity mask: f

Maska f znamená všechny procesory, 0x00000001 by byl pouze procesor 0.

$ taskset -c -p 24389 
pid 24389's current affinity list: 0-3

Zobrazuje CPU ve formátu seznamu. V tomto příkladu mám na svém notebooku 4 jádra.

Viz manuálová stránka obsahuje více podrobností.


Linux
  1. Najděte čas provedení příkazu nebo procesu v systému Linux

  2. Ruční vytváření kontejnerů:jmenný prostor PID

  3. Jak identifikovat proces, který nemá PID?

  1. Jak předat argumenty příkazového řádku běžícímu procesu na systémech unix/linux?

  2. Jak zabít proces běžící na konkrétním portu v Linuxu?

  3. Název procesu z jeho pid v linuxu

  1. 4 způsoby, jak zjistit jádro CPU, na kterém běží konkrétní proces v Linuxu

  2. Určete, ve které skupině (skupinách) je běžící proces?

  3. Proměnné prostředí běžícího procesu na Unixu?