time(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '= time(1) = == NAMN == time – mät exekveringstid för ett kommando och visa resursanvändning == SYNOPS == <pre> time [alternativ ...] kommando [argument ...] </pre> == BESKRIVNING == Kommandot '''time''' kör det angivna programmet (''kommando'') med givna argument. När ''kommando'' avslutas skriver '''time''' en rad till standardfel med tidsstatistik för körningen. Statistiken består av: * förfluten verklig tid (”väggklocktid”) mellan start och slut, *...')
 
Rad 150: Rad 150:
</pre>
</pre>


== EXEMPEL ==
= EXEMPEL =
Några vanliga användningar av '''time''':
Några vanliga användningar av '''time''':



Versionen från 30 augusti 2025 kl. 22.25

time(1)

NAMN

time – mät exekveringstid för ett kommando och visa resursanvändning

SYNOPS

time [alternativ ...] kommando [argument ...]

BESKRIVNING

Kommandot time kör det angivna programmet (kommando) med givna argument. När kommando avslutas skriver time en rad till standardfel med tidsstatistik för körningen. Statistiken består av:

  • förfluten verklig tid (”väggklocktid”) mellan start och slut,
  • CPU-tid i användarläge (summan av tms_utime och tms_cutime från times(2)),
  • CPU-tid i kärnläge (summan av tms_stime och tms_cstime från times(2)).

Obs: vissa skal (t.ex. bash(1)) har en inbyggd time. För att använda det externa programmet kan du behöva ange full sökväg, t.ex. /usr/bin/time.

ALTERNATIV

Alternativ Beskrivning
-p I POSIX-locale: använd det precisa traditionella formatet:
real %f
user %f
sys  %f

(siffror i sekunder; antal decimaler minst en och tillräckligt för systemets tick-upplösning).

EXIT-STATUS

Om kommando kunde startas returneras dess exit-status. I annat fall:

  • 127 – kommandot hittades inte,
  • 126 – hittades men kunde inte exekveras,
  • 1–125 – annat fel.

MILJÖ

Följande miljövariabler kan påverka text och formatering i utskriften: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, NLSPATH. PATH används för att söka efter kommando.

GNU-VERSION

Nedan beskrivs GNU 1.7-versionen av time. Förutom tidsåtgång kan programmet – där systemet stöder det – rapportera resursanvändning såsom minne, I/O och IPC. Utskriften formateras med en formatsträng som anges med -f eller via miljövariabeln TIME.

Standardformatsträngen är:

%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

Med -p används det portabla formatet:

real %e
user %U
sys  %S

Formatsträngen

Format tolkas som i printf(3): vanliga tecken kopieras, tab/nyrad/omvänt snedstreck skrivs som \t, \n, \\, procenttecken som %%, övrigt % anger konvertering. time lägger alltid till avslutande nyrad.

Tid
  • %E – förfluten verklig tid i [tim:]min:sek.
  • %e – förfluten verklig tid i sekunder.
  • %S – CPU-sekunder i kärnläge.
  • %U – CPU-sekunder i användarläge.
  • %P – CPU-andel, beräknad som (%U + %S) / %E.
Minne
  • %M – maximal resident set-storlek (KiB).
  • %t – genomsnittlig resident set-storlek (KiB).
  • %K – genomsnittlig total (data+stack+text) minnesanvändning (KiB).
  • %D – genomsnittlig storlek på odelad datasektion (KiB).
  • %p – genomsnittlig storlek på odelad stack (KiB).
  • %X – genomsnittlig storlek på delad text (KiB).
  • %Z – systemets sidstorlek (bytes).
  • %F – antal ”major” sidfel (krävde läsning från disk).
  • %R – antal ”minor” sidfel (data fanns i minnet/tabeller behövde uppdateras).
  • %W – antal gånger processen byttes ut från primärminne.
  • %c – antal ofrivilliga kontextbyten.
  • %w – antal frivilliga kontextbyten (t.ex. väntan på I/O).
I/O, signaler, övrigt
  • %I – antal filsystem-inläsningar.
  • %O – antal filsystem-skrivningar.
  • %r – mottagna socket-meddelanden.
  • %s – skickade socket-meddelanden.
  • %k – levererade signaler.
  • %C – kommandonamn och argument.
  • %x – kommandots exit-status.

GNU-alternativ

Alternativ Beskrivning
-f FORMAT, --format=FORMAT Ange utskriftsformat (åsidosätter $TIME).
-p, --portability Använd det portabla POSIX-formatet.
-o FIL, --output=FIL Skriv resultat till FIL i stället för stderr (skriver över).
-a, --append Tillsammans med -o: lägg till i stället för att skriva över.
-v, --verbose Utförlig rapport om kända resursmått.
-q, --quiet Rapportera inte onormal terminering/icke-noll exit-status.

GNU-standardalternativ

Alternativ Beskrivning
--help Skriv användningsinformation till stdout och avsluta.
-V, --version Visa versionsinformation och avsluta.
-- Avsluta listan med alternativ.

BUGGAR

Alla UNIX-varianter mäter inte alla resurser; vissa värden kan därför rapporteras som noll. GNU time 1.7 är inte lokaliserad enligt POSIX-krav. Miljövariabeln TIME kan kollidera med praxis där variabelnamn pekar ut alternativa program. Många anser att -o borde ha standardbeteendet att lägga till (nu skrivs det över utan -a).

Skicka förslag och felrapporter till bug-time@gnu.org. Inkludera utdata från:

time --version

samt information om operativsystem och C-kompilator.

SE ÄVEN

bash(1), tcsh(1), times(2), wait3(2), time(7)

COLOPHON

Denna sida är en del av projektet man-pages (användarutrymmets gränssnitt mot Linuxkärnan och C-biblioteket). Se ⟨https://www.kernel.org/doc/man-pages/⟩ för projektinfo och hur man rapporterar fel. Sidan hämtades från man-pages-6.10.tar.gz (2024-11-25).

Linux man-pages 6.10            2024-11-25                       time(1)

EXEMPEL

Några vanliga användningar av time:

# Mät körning av ett kommando
time ls -la

# Portabelt POSIX-format, lätt att skripta
time -p sleep 1

# Spara utdata i fil (skriv över) respektive lägg till
time -o tid.txt sleep 2
time -a -o tid.txt sleep 3

# Utförlig resursrapport
/usr/bin/time -v ls /usr

# Eget format via -f (eller miljövariabeln TIME)
TIME='real %e s\nuser %U s\nsys %S s' /usr/bin/time -f "$TIME" sleep 1

# Mäta en hel kommando-kedja
/usr/bin/time sh -c 'echo bygg; make -j4; echo klar'