2011-09-07 11 views
84

Posso fare un'ipotesi basata sui nomi, ma quali sono in particolare il tempo di clock del muro, il tempo della CPU dell'utente e il tempo della CPU di sistema in UNIX?Quali sono in particolare i tempi di clock del muro, cpu-time dell'utente e cpu-time del sistema in UNIX?

Tempo di CPU utente è la quantità di tempo impiegato per l'esecuzione del codice utente durante il kernel-cpu volta la quantità di tempo trascorso nel kernel a causa della necessità di operazioni con privilegi (come da IO a disco)?

Che unità di tempo è questa misurazione in.

Ed è parete-orologio davvero il numero di secondi che il processo è speso per la CPU o è il nome proprio fuorviante?

risposta

86

L'ora dell'orologio a muro è l'ora in cui un orologio sul muro (o un cronometro in mano) misurerebbe come trascorso tra l'inizio del processo e "ora".

L'ora della CPU utente e il tempo della CPU di sistema sono più o meno come hai detto tu: la quantità di tempo trascorso nel codice utente e la quantità di tempo trascorso nel codice del kernel.

Le unità sono secondi (e secondi, che potrebbero essere microsecondi o nanosecondi).

L'ora di wall-clock non è il numero di secondi trascorsi dal processo sulla CPU; è il tempo trascorso, compreso il tempo trascorso in attesa del suo turno sulla CPU (mentre altri processi possono essere eseguiti).

+1

Questo significa che l'ora del wall-clock sarà sempre ** maggiore ** rispetto al tempo della CPU? – Pacerier

+9

@Pacerier: su un computer single core, sì, ma le macchine multi-core e i programmi multi-thread possono utilizzare più di 1 CPU per secondo trascorso. –

+0

@JonathanLeffler grazie per la risposta, volevo ottenere il numero di nanosecondi che è trascorso, ma calcolare il tempo della CPU utilizzando la formula 'CPUtime = #clock_cycles/clock_rate' non può essere lo stesso del calcolo del tempo trascorso. Sai se riesco a ottenere il tempo trascorso dal tempo della CPU? – Bionix1441

25

Ora dell'orologio a muro: tempo trascorso in base all'orologio interno del computer, che dovrebbe corrispondere al tempo nel mondo esterno. Questo non ha nulla a che fare con l'utilizzo della CPU; è dato per riferimento.

Tempo CPU e ora di sistema: esattamente ciò che si pensa. Le chiamate di sistema, che includono chiamate I/O come read, write, ecc., Vengono eseguite saltando nel codice del kernel ed eseguendole.

Se l'ora dell'orologio a muro è < CPU, allora si sta eseguendo un programma in parallelo. Se l'ora dell'orologio da parete è> tempo CPU, stai aspettando disco, rete o altri dispositivi.

Tutti sono misurati in secondi, secondo lo SI.

5

tempo orologio da parete è esattamente quello che dice, il tempo trascorso come misurato con l'orologio sul muro (o polso)

utente tempo di CPU è il tempo trascorso in "terra utente", che è il tempo speso per processi non del kernel

Il tempo di CPU del sistema è il tempo trascorso nel kernel, solitamente il tempo impiegato per la manutenzione delle chiamate di sistema.

Problemi correlati