2010-08-07 23 views
27

Kodumun performansını anlamaya çalışıyorum ama time komutunun çıktısını anlamıyorum, Zaman komut çıkışı ne anlama geldiğini açıklayabilir.Zaman komutunun çıkışı nasıl anlaşılır?

time ./filereader 

real 0m0.193s 
user 0m0.012s 
sys 0m0.056s 

nedir real, user, sys:

şu ne alıyorum?

+0

Kapsamlı yanıt için yinelenen soruya bakın: http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1 –

cevap

32

kaynaktan: http://zch051383471952.blogspot.com/2010/01/different-of-real-user-sys-time.html

gerçek gerçek geçen zamana işaret eder; User and Sys, sadece işlemci tarafından kullanılan CPU zamanı 'a bakın.

  • Gerçek duvar saati zamanı - aramanın başlangıcından bitişine kadar geçen süre. Bu, diğer işlemler tarafından kullanılan zaman dilimleri dahil tüm geçen zaman ve işleminin zaman aşımına uğradığı zaman (örneğin, , G/Ç işleminin tamamlanmasını bekliyorsa).
  • Kullanıcı, kullanıcı modu kodunda ( çekirdeği dışında) işlem sırasında harcanan CPU zamanıdır. Bu, sadece işleminin yürütülmesinde kullanılan gerçek CPU zamanıdır. Diğer süreçler ve zaman süreç harcanarak bu sayıya doğru sayımını engellemez.
  • Sys, işlemdeki çekirdekte harcanan CPU zamanıdır. Bu , çekirdek içinde sistem çağrılarında harcanan CPU zamanının kitaplık koduna karşı çalıştırılması anlamına gelir; bu, kullanıcı alanında hala çalışan . 'kullanıcı' gibi, bu işlem sadece tarafından kullanılan işlemcidir.
10

'Gerçek', saat saatinin miktarıdır. Eğer bir kronometre ile zaman geçireceksen, aldığın şey buydu.

'Kullanıcı', işlemin kendisi tarafından kullanılan CPU zamanıdır.

'sys', işlemin çekirdeği için harcanan CPU zamanı miktarıdır.

+2

'real' is En azından gözlemlerimden, durma saatinin söylediği zaman miktarı değil. Örneğin, dün gece bir süreç başlattım ve bu sabah “gerçek 2376m6.172s” yi rapor ediyor. Gerçekte, on iki saatten az bir süre geçmiştir. – feklee

İlgili konular