2010-08-07 7 views
27

Я пытаюсь выяснить производительность моего кода, но я не понимаю вывод команды time. Может ли кто-нибудь объяснить, что означает выход команды времени.Как понять вывод команды времени?

Ниже то, что я получаю:

time ./filereader 

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

Что real, user, sys?

+0

См. Дублирующий вопрос для получения исчерпывающего ответа: http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1 –

ответ

32

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

Real относится к фактическому затраченного времени; Пользователь и Sys относятся к используемому времени процессора только процессом.

  • Настоящее время настенные часы - время от начала до конца вызова. Это все прошедшее время, включая временные фрагменты , используемые другими процессами и временем,процесс тратит заблокированные (например, если ожидает завершения ввода-вывода).
  • Пользователь - это количество процессорного времени, затраченного на код пользовательского режима (за пределами ядра ). Это только фактическое время процессора, используемое при выполнении процесса. Другие процессы и время процесс тратит заблокированный не кол-во в сторону этой цифры.
  • Sys - это количество процессорного времени, затраченного на ядро ​​в процессе. Этот означает выполнение процессорного времени, затраченного на системных вызовов в ядре, так как против кода библиотеки, который все еще работает в пользовательском пространстве. Например, «пользователь», это только время процессора, используемое процессом.
10

«реальный» - это количество часов, которое потребовалось. Если бы вы провели время с секундомером, это то, что вы получили бы.

«пользователь» - это количество процессорного времени, которое сам процесс использовал.

«sys» - это количество процессорного времени, которое ядро ​​тратило от имени процесса.

+2

'real' is а не количество времени, которое показывает секундомер, по крайней мере, из моих наблюдений. Например, вчера вечером я начал процесс, и сегодня утром он сообщает «настоящие 2376m6.172s». На самом деле прошло менее двенадцати часов. – feklee

Смежные вопросы