Na stronie Wikipedii czasu procesora , to mówi
Czas procesora jest mierzony w taktach zegara lub sekundach. Często przydatny jest pomiar czasu procesora jako procent pojemności procesora, który nazywa się zużyciem procesora.
Nie rozumiem, jak czas można zastąpić procentem. Kiedy patrzę na to top
, czy nie %CPU
mówi mi, że MATLAB
używa 2.17 moich rdzeni?
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18118 jasl 20 0 9248400 261528 78676 S 217.2 0.1 8:14.75 MATLAB
Pytanie
Aby lepiej zrozumieć, jakie jest użycie procesora, jak samodzielnie obliczyć zużycie procesora?
linux
performance
central-processing-unit
cpu-usage
Jasmine Lognnes
źródło
źródło
1
).Odpowiedzi:
Czas procesora jest alokowany w dyskretnych przedziałach czasu (tyknięć). Przez określoną liczbę przedziałów czasowych procesor jest zajęty, innym razem nie jest (co jest reprezentowane przez proces bezczynności). Na poniższym zdjęciu procesor jest zajęty przez 6 z 10 segmentów procesora. 6/10 = .60 = 60% czasu zajętości (i dlatego byłoby 40% czasu bezczynności).
Procent określa się jako „ilości lub szybkości, która jest wyrażona jako pewną liczbę części czegoś podzielona na 100 części”. Tak więc w tym przypadku te części są odrębnymi przedziałami czasu, a czymś są przedziały czasu zajętości w porównaniu do przedziałów czasu bezczynności - szybkość przedziałów zajętości do czasu bezczynności.
Ponieważ procesory działają w paśmie GHz (miliardy cykli na sekundę). System operacyjny dzieli ten czas na mniejsze jednostki zwane paskami. Nie są to tak naprawdę 1/10 sekundy. Szybkość tykania w systemie Windows wynosi 10 milionów tyknięć na sekundę, aw Linuksie jest to
sysconf(_SC_CLK_TCK)
(zwykle 100 tyknięć na sekundę).W czymś takim
top
, zajęte cykle procesora są następnie dzielone na procenty, takie jak czas użytkownika i czas systemowy. Wtop
systemach Linux i perfmon w systemie Windows często pojawia się ekran o wartości przekraczającej 100%, to znaczy, ponieważ suma wynosi 100% * liczba_powodów.W systemie operacyjnym, to Terminarz'a praca przeznaczyć te cenne plastry do procesów, a więc to, co donosi scheduler to.
źródło
Czas procesora to czas, w którym proces korzysta z procesora - konwersja na procent odbywa się poprzez podzielenie przez ilość czasu, który upłynął.
Tak więc, jeśli mam proces, który wykorzystuje 1 sekundę czasu procesora przez okres 2 sekund, używa 50% procesora.
W przypadku procesu MATLAB 217% wskazuje, że zużywa on 2,17 sekundy czasu procesora na sekundę w ciągu ostatniego okresu próbkowania - skutecznie monopolizując 2 rdzenie procesora i zajmując jedną trzecią.
źródło