Расхождение в выводе команды времени Linux - PullRequest
5 голосов
/ 16 июня 2011

Мне известно, что вывод команды time может показывать большее время в разделе user, чем в разделе real для многопроцессорных систем, но недавно я пытался профилировать программу, когда увидел что real было существенно больше, чем user + sys.

$ time ./test.o

real    0m5.576s
user    0m1.270s
sys     0m0.540s

Кто-нибудь может объяснить, почему вызвано такое поведение?

Ответы [ 3 ]

8 голосов
/ 16 июня 2011

Это нормальное поведение.

«Реал» - это время настенных часов. В вашем примере буквально потребовалось 5,576 секунды для запуска './test.o'

'user' - время ЦП пользователя или (приблизительно) время ЦП, используемое процессами в пространстве пользователя. По сути, это время, которое ваш процессор потратил на выполнение «./test.o». 1,270 секунд.

И, наконец, 'sys' - это системное процессорное время или (примерно) процессорное время, используемое вашим ядром. 0,540 секунд.

Если вы добавите пользователя sys +, вы получите количество времени, которое ваш ЦП должен был потратить на выполнение программы.

real - (user + sys) - это время, потраченное не на запуск вашей программы. 3.766 секунд было потрачено между вызовом и завершением , а не запуском вашей программы - вероятно, ожидание, пока ЦП завершит работу других программ, ожидание на вводе-выводе диска и т. Д.

4 голосов
/ 16 июня 2011

Время, которое ваш процесс проводит в спящем режиме (например, в ожидании ввода / вывода), не учитывается ни «пользователем», ни «системой», но «реальное» время все еще истекает.

Попытка:

time cat

... затем подождите 10 секунд и нажмите Ctrl-D.

1 голос
/ 16 июня 2011

Существует как минимум две возможности:

  • Система занята другими конкурирующими процессами
  • Программа много спит или выполняет другие операции, которые заставляют ее ждать,например, ввод-вывод (ожидание ввода данных пользователем, ввод-вывод с диска, сетевой ввод-вывод и т. д.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...