Můžete to udělat pomocí ps -aeF
, viz C
sloupec
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 2015 ? 00:08:07 /sbin/init
Nebo pomocí htop
, nakonfigurujte jej tak, aby zobrazoval PROCESSOR
sloupec,
Chcete-li nastavit afinitu CPU, můžete použít příkaz taskset
Normální top
může také zobrazit naposledy použitý CPU.
Musíte stisknout f
při zobrazení hlavní obrazovky přejděte na obrazovku Správa polí a šipkou dolů přejděte na P = Last Used CPU (SMP)
a zapněte jej pomocí d
nebo prostor. Stiskněte q
nebo únikem se vraťte na hlavní obrazovku.
Pokud se vám nelíbí sloupec P na pravé straně výstupu, možná budete chtít posunout sloupec P nahoru na obrazovce Správa polí.
Uvědomte si, že je to zastaralé, ale pro ty, kteří chtějí vidět, které procesy používají které jádro s příkazem ps, požadovaný sloupec je psr.C je využití procesoru.
Jádra jsou číslována 0-N. Základní podrobnosti můžete zobrazit pomocí:
cat /proc/cpuinfo
Řekněme tedy, že máte 4 jádra a chcete vidět všechny procesy využívající 4. jádro:
CORENUM=3; ps -e -o pid,psr,cpu,cmd | grep -E "^[[:space:]][[:digit:]]+[[:space:]]+${CORENUM}"
Rozeberte výše uvedený příkaz.
Vytvořte a nastavte proměnnou "CORENUM" s hodnotou "3" (čtvrté jádro). Příkaz zakončete středníkem (zde můžete stisknout Enter).
Spusťte příkaz ps, kde:-e =vybrat všechny procesy-o =formát definovaný uživatelem. Toto je tvořeno jedním nebo více specifikátory formátu oddělenými čárkou. Ty lze nalézt na stránce ps man ("man ps") v sekci STANDARDNÍ SPECIFIKACE FORMÁTU
(pro vyhledávání v manuálové stránce použijte lomítko).
Chcete-li zobrazit jejich nezpracovaný seznam, můžete zadat možnost "L" (bez "-"):
ps L
Takže zde můj uživatelsky definovaný formát uvádí ID procesu následované procesorem, pak využití procesoru a nakonec příkaz.
To je pak přesměrováno do grep, kde jsem použil volbu -E k povolení rozšířeného regx ve snaze přesně vygenerovat pouze ty procesy spojené s číslem procesoru uloženým v proměnné CORENUM.