Czym konkretnie są wall-clock-time, user-cpu-time i system-cpu-time w Uniksie?
Mogę zgadnąć na podstawie nazw, ale czym konkretnie są wall-clock-time, user-cpu-time i system-cpu-time w Uniksie?
Czy czas user-cpu to ilość czasu spędzonego na wykonywaniu kodu użytkownika, podczas gdy czas kernel-cpu to ilość czasu spędzonego w jądrze z powodu potrzeby operacji uprzywilejowanych (takich jak IO to disk)?
W jakiej jednostce czasu jest ten pomiar.
I czy czas ścienny to naprawdę liczba sekund, które proces spędził na procesorze, czy tylko nazwa wprowadza w błąd?
4 answers
Zegar Ścienny to czas, który zegar na ścianie (lub stoper w ręku) mierzyłby jako upłynął między rozpoczęciem procesu a "teraz".
Czas użytkownika-procesora i czas systemu-procesora są prawie tak, jak mówiłeś - ilość czasu spędzonego w kodzie użytkownika i ilość czasu spędzonego w kodzie jądra.
Jednostki są sekundami (i subsekundami, które mogą być mikrosekundami lub nanosekundami).
Czas zegara ściennego nie jest liczbą sekund, jaką ma proces spędzony na CPU; jest to czas, który upłynął, łącznie z czasem spędzonym na czekaniu na jego włączenie NA CPU(podczas gdy inne procesy zaczynają działać).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-07 14:53:54
Zegar Ścienny czas: czas, który upłynął zgodnie z wewnętrznym zegarem komputera, który powinien pasować do czasu w świecie zewnętrznym. Nie ma to nic wspólnego z użytkowaniem procesora; jest podane w celach informacyjnych.
Czas procesora użytkownika i czas systemowy: dokładnie to, co myślisz. Wywołania systemowe, które obejmują wywołania We/Wy, takie jak read
, write
, itd. są wykonywane przez przeskoczenie do kodu jądra i wykonanie tego.
Jeśli zegar ścienny czas CPU czas, czekasz na dysk, sieć lub inne urządzenia.
Wszystkie są mierzone w sekundach, zgodnie zSI .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-07 14:52:52
Zegar Ścienny czas jest dokładnie tym, co mówi, czas upłynął mierzony przez zegar na ścianie (lub zegarek Na Rękę)
User cpu time to czas spędzony w "user land", czyli czas spędzony na procesach spoza jądra
Czas procesora systemowego to czas spędzony w jądrze, zwykle czas poświęcony na obsługę wywołań systemowych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-07 14:53:46
time [WHAT-EVER-COMMAND]
real 7m2.444s
user 76m14.607s
sys 2m29.432s
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 24
Zegar rzeczywisty lub ścienny
Real 7m2. 444s
W systemie z 24-rdzeniowym procesorem procesor cmd/trwał ponad 7 minut. To poprzez wykorzystanie możliwie największej paralelizmu ze wszystkimi podanymi rdzeniami.User
Użytkownik 76m14. 607s
Cmd/proces wykorzystał tyle czasu procesora. Innymi słowy, na maszynie z jednordzeniowym procesorem, rzeczywisty i użytkownik będzie prawie równy, więc ta sama Komenda zajmie ~76 min.
Sys
Sys 2m29.432s
Jest to czas potrzebny jądrowi Na wykonanie wszystkich podstawowych / systemowych operacji do uruchomienia tego cmd, łącznie z przełączaniem kontekstu, alokacją zasobów itp.
Uwaga: przykład zakłada, że Twoje polecenie wykorzystuje równoległość / wątki.
Szczegółowa strona podręcznika: https://linux.die.net/man/1/time
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-14 04:08:51