time(7): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= time(7) - Översikt över tid och timers = == Namn == time - översikt över tid och timers == Beskrivning == === Realtid och processortid === * Realtid: Tid som mäts från en fast punkt, antingen från en standardpunkt i det förflutna (se Epok och kalenderbeskrivning nedan) eller från en specifik händelse (t.ex. processens start). * Processortid: CPU-tid som används av en process. Delas ofta upp i användartid (tid som körs i användarläge) och systemtid (ti...') |
(Ingen skillnad)
|
Versionen från 25 november 2024 kl. 06.28
time(7) - Översikt över tid och timers
Namn
time - översikt över tid och timers
Beskrivning
Realtid och processortid
- Realtid: Tid som mäts från en fast punkt, antingen från en standardpunkt i det förflutna (se Epok och kalenderbeskrivning nedan) eller från en specifik händelse (t.ex. processens start).
- Processortid: CPU-tid som används av en process. Delas ofta upp i användartid (tid som körs i användarläge) och systemtid (tid som spenderas i kärnan för systemanrop).
- Verktyget timeout(1) kan användas för att mäta CPU-tid. - Program kan också använda times(2), getrusage(2) eller clock(3) för att mäta CPU-tid.
Maskinvaruklockan
De flesta datorer har en batteridriven maskinvaruklocka som kärnan läser vid uppstart för att initialisera programvaruklockan. Se även: rtc(4) och hwclock(8).
Programvaruklockan, HZ och jiffies
- Programvaruklockan, som underhålls av kärnan, mäter tid i enheter kallade jiffies.
- Storleken på en jiffy bestäms av konstanten HZ i kärnan:
- På äldre Linux-versioner (före 2.6.0): HZ = 100 (jiffy = 0,01 sekunder). - På senare Linux-versioner (2.6.0 och framåt): HZ kan vara 100, 250, 300 eller 1000 (standard är 250).
För specialfall används konstanten USER_HZ, som kan hämtas med sysconf(_SC_CLK_TCK).
System- och processklockor; tidsnamnrymder
Kärnan stödjer flera klockor som mäter olika typer av tid (exekverad CPU-tid, förfluten tid, osv.).
- Dessa klockor beskrivs i clock_gettime(2).
- Vissa klockor kan ställas in med clock_settime(2).
- Tidsnamnrymder virtualiserar vissa klockvärden (se time_namespaces(7)) .
Högupplösta timers
- Före Linux 2.6.21 begränsades noggrannheten för timers och vilosystemanrop av jiffies.
- Med high-resolution timers (HRTs) kan noggrannheten vara lika hög som hårdvaran tillåter (vanligtvis mikrosekundsnoggrannhet).
- Kontrollera stöd för HRT med clock_getres(2) eller /proc/timer_list.
Epok
UNIX-system representerar tid som sekunder sedan epok: 1970-01-01 00:00:00 UTC.
- clock_gettime(2) med klockan CLOCK_REALTIME kan ge tid sedan epok i sekunder och nanosekunder.
- Systemtid kan ändras med clock_settime(2).
Uppmätt tid (broken-down time)
Tid kan representeras som strukturen tm, vilken lagrar komponenter som år, månad, dag, timme osv.
- Funktioner som konverterar mellan olika tidsformat finns i ctime(3), strftime(3) och strptime(3).
Sova och ställa in timers
Systemanrop och funktioner som låter ett program sova eller pausa:
För att ställa in timers som löper ut i framtiden:
- Se alarm(2), getitimer(2), timerfd_create(2) och timer_create(2).
Timer slack
Timer slack anger hur länge kärnan får fördröja väckningen av vissa systemanrop med timeout.
- Syftet är att samordna väckningshändelser och spara ström.
- Mer information: PR_SET_TIMERSLACK i prctl(2).
Se även
- date(1), time(1), timeout(1)
- Systemanrop: adjtimex(2), alarm(2), clock_gettime(2), nanosleep(2)
- Biblioteksfunktioner: adjtime(3), clock(3), sleep(3)
- Tidsnamnrymder: time_namespaces(7)
- Verktyg: rtc(4), hwclock(8)
Kolofon
Denna manual är en del av man-pages-projektet för dokumentation av Linux-kärnans och C-bibliotekets gränssnitt. Projektinformation: ⟨https://www.kernel.org/doc/man-pages/⟩ Felrapporter: ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩ Hämtad från: `man-pages-6.9.1.tar.gz`
Linux man-pages 6.9.1, 2024-05-02