można użyć ps
.
np. mając proces python z dwóch ruchliwych wątków na dwurdzeniowe CPU:
$ ps -p 29492 -L -o pid,tid,psr,pcpu
PID TID PSR %CPU
29492 29492 1 0.0
29492 29493 1 48.7
29492 29494 1 51.9
(PSR jest id CPU wątek jest aktualnie przypisany)
widać, że wątki są uruchomione na tym samym rdzeniu CPU (z powodu GIL)
uruchomiony ten sam skrypt Pythona w Jython, widzimy, że skrypt wykorzystuje oba rdzenie (i istnieje wiele wątków innej usługi lub cokolwiek, które są niemal bezczynny):
$ ps -p 28671 -L -o pid,tid,psr,pcpu
PID TID PSR %CPU
28671 28671 1 0.0
28671 28672 0 4.4
28671 28673 0 0.6
28671 28674 0 0.5
28671 28675 0 2.3
28671 28676 0 0.0
28671 28677 1 0.0
28671 28678 1 0.0
28671 28679 0 4.6
28671 28680 0 4.4
28671 28681 1 0.0
28671 28682 1 0.0
28671 28721 1 0.0
28671 28729 0 88.6
28671 28730 1 88.5
można przetwarzać dane wyjściowe i obliczać całkowity procesor dla każdego rdzenia procesora.
Niestety, podejście to nie wydaje się być w 100% niezawodne, czasami widzę, że w pierwszym przypadku dwa wątki robocze są rozdzielone na każdy rdzeń procesora, lub w tym ostatnim przypadku dwa wątki są ocenia się na tym samym rdzeniu ..
tak .. jak mogę tego przeczytać? – Zhianc
Możesz również nacisnąć 'I', aby przełączać * tryb Irix * (w przeciwieństwie do * trybu Solaris *). Kiedy 'on', procent wyświetlany na liście procesów jest zależny od ** wątku procesora **. Kiedy 'off', wspomniana wartość procentowa jest wyświetlana w stosunku do ** ogólnej pojemności procesora ** (tj. * WSZYSTKIE wątki * - również wszystkie rdzenie). –
'htop' również działa – phyatt