Otázka: Zajímalo by mě, zda v Linuxu existuje příkaz (může být v CentOS, RedHat nebo Fedora), který mi umožňuje zjistit, na kterém jádru CPU aktuálně běží konkrétní proces?
Odpověď:
Ano, existují alespoň čtyři způsoby, které vám umožňují identifikovat jádro CPU, na kterém je aktuálně spuštěno dané identifikační číslo procesu. Abych to demonstroval, dovolte mi zvážit crond proces s ID procesu 24868.
Příkaz 1:Použití ps příkaz
Můžete použít ps příkaz ke zjištění, který proces je aktuálně přiřazen ke kterému jádru CPU. Pozor na PSR pole v ps výstup příkazu.
$ ps -o pid,psr,comm -p 24868 PID PSR COMMAND 24868 2 crond
Výše uvedený výstup příkazu indikuje, že proces s PID 24868 (crond) je přiřazen jádru CPU 2.
Poznámka: Jádro může naplánovat proces v jakémkoli jádře CPU a může jej neustále měnit z jednoho jádra na druhé.
Příkaz 2:Použití top příkaz
Můžete také použít top příkaz. Níže jsou uvedeny kroky.
$ top -p 24868
Na „horní“ výstupní obrazovce stiskněte „f ‘ přidat „Naposledy použitý procesor (SMP) “ a stiskněte „j ‘ (hledejte hvězdičku v řádku Poslední použitý procesor (SMP)). Po dokončení uvidíte ve sloupci ‚P‘ ID jádra CPU, které spouští každý proces.
Příkaz 3:Použití htop
Instalovat htop:
$yum install htop Installed: htop.x86_64 0:1.0.1-2.el6 Complete!
Spusťte htop a stiskněte F2 pro vstup do Nastavení . Ve sloupci Nastavení vyberte „Sloupce“ a v části „Dostupné sloupce“ vyberte „PROCESOR“. Po dokončení stiskněte F5 pro přidání sloupce a F10 pro uložení.
$ htop
Příkaz 4:Použití taskset příkaz
Můžete použít sada úkolů příkaz k načtení CPU afinity běžícího procesu.
$ taskset -c -p 24868 pid 24868's current affinity list: 0-7
Výše uvedený výstup příkazu říká, že plánovač spojí proces se sadou CPU (0-7) v systému.
Uveďte seznam jader CPU a jejich ID:
Níže uvedený příkaz vám nyní umožní najít seznam jader CPU ve vašem systému a pomůže vám zmapovat ID procesoru vrácené příkazy top, htop, taskset a ps.
$ cat /proc/cpuinfo
To je ono!