2012-10-11 10 views
5

quando i test uno script perl sotto linux e utilizzare time sh -c per misurare il tempo trascorso, ho ottenuto un risultato strano:linux comando time risultante reale è inferiore a utente

real 14m11.903s 
user 34m39.319s 
sys  16m54.074s 

che significa che il tempo reale trascorso è ancora meno del tempo dell'utente. E a contare visivamente il tempo da solo, la sceneggiatura non ha speso più di 34 minuti, e il tempo reale è più vicino a quello che vedo. Qualcuno ha qualche idea su questo? Grazie.

risposta

9

Lo script avrebbe potuto utilizzare più di 1 core.

+0

Sì, è vero, quindi se ho uno script multi-thread con 4 thread funzionanti e il tempo utente è 16m, posso dire che il tempo reale è di circa 4m? – lolibility

+0

Dipende da molte cose. In genere a causa di vincoli di risorse condivise (memoria, disco, sezioni mutex, ecc.) Non funzionerà perfettamente. – jmh

1

La riga utente indica il tempo totale della CPU utilizzato direttamente dal processo. Se il tuo processo ha più di un thread e la tua CPU ha più di un core, puoi utilizzare più tempo della CPU rispetto al tempo di wall clock.

Problemi correlati