Mam taki wynik z polecenia time
:
real 15m54.670s
user 0m13.315s
sys 0m9.542s
Dlaczego jest aż taka rozbieżność między czasem real
a user
+sys
? Dlaczego znaczna większość czasu nie została zakwalifikowana do user ani do sys?
Mam taki wynik z polecenia time
:
real 15m54.670s
user 0m13.315s
sys 0m9.542s
Dlaczego jest aż taka rozbieżność między czasem real
a user
+sys
? Dlaczego znaczna większość czasu nie została zakwalifikowana do user ani do sys?
user i sys to czas procesora, a nie prawdziwy czas, może dlatego.
real - prawdziwy czas jaki uplynal od starty do zakonczenia
user - czas jaki procesor spedzil w user space dla tego procesu
sys - czas jaki procesor spedzil w kernelu dla tego procesu
Procesor moze oprocz tego procesu wykonywac inne czynnosci, i czas tych innych czynnosci to real - (user+sys).
Jezeli process jest zrownoleglony, to user+sys moze byc > real, poniewaz kila procow bedzie napierdzielac az sie zacznie dymic, rowolegle, a wall clock sie nie dubluje.
Program mógł np 15 minut czekać na odpowiedź od usera czy na odpowiedź z socketa czy na odpowiedź z dysku (itd) a taki czas nie jest wliczany ani do user ani do sys.
@up - bardzo sluszna uwaga.