Каковы различия между стеной, показывают время, пользовательское время и процессорное время

Если Вы подозреваете, что определенный процесс (как JVM) причина высокого количества ветвления (2/с, не высоко и не проблема), можно использовать strace/ltrace для наблюдения то, что это делает.

Конкретно ветвление должно также быть видимо в учете процесса (более высокое влияние) с командой куртки. Но я не думаю, что это покрывает клон () для запуска потоков.

При вхождении в диапазон 100 клонов/с затем, необходимо действительно взглянуть на приложение.

BTW: относительно комментария выше (наклон комментируют его все же): никакой Tomcat не разветвляется, это только запускает потоки, но не для каждого запроса, это использует пул.

13
задан 31 July 2009 в 11:08
3 ответа

Стена показывает время, фактическое количество времени, занятое для выполнения задания. Это эквивалентно синхронизации Вашего задания с секундомером, и измеренное время для выполнения задачи может быть затронуто чем-либо еще, что система, оказывается, делает в то время.

Пользовательское время измеряет количество времени, ЦП потратил выполнение Вашего кода. Это не считает ничто больше, что могло бы работать и также не считает процессорное время проведенным в ядре (такой что касается файлового ввода-вывода).

Процессорное время измеряет общее количество времени, ЦП потратил выполнение Вашего кода или чего-либо требуемого Вашим кодом. Это включает время ядра.

"Пользовательское измерение" времени, вероятно, наиболее подходит для измерения уровня различных заданий, так как это будет меньше всего затронуто другими вещами, происходящими в системе.

17
ответ дан 2 December 2019 в 21:24

Из Википедии:

Термин 'пользовательское процессорное время' может быть немного вводящим в заблуждение сначала. Чтобы быть ясным общее время (реальное процессорное время), комбинация количества времени, ЦП тратит выполнение некоторого действия для программы и количества времени, ЦП тратит работающие системные вызовы ядра от имени программы. Когда программные циклы через массив, это накапливает пользовательское процессорное время. С другой стороны, когда программа выполняет системный вызов, такой как должностное лицо или ветвление, она накапливает системное процессорное время

Стена показывает время, фактическое время, потраченное компьютером для выполнения задачи. Это - сумма трех условий: Процессорное время, время ввода-вывода и задержка канала передачи (например, если данные рассеиваются на нескольких машинах). В отличие от процессорного времени, которое измеряет только время, в течение которого процессор активно работает над определенной задачей, стенное время измеряет общее время для процесса для завершения. Различие между этими двумя состоит из времени, которое передает из-за запрограммированных задержек или ожидающий ресурсов для становления доступным.

3
ответ дан 2 December 2019 в 21:24

Время настенных часов — это время, которое вы получите, если будете измерять время работы с помощью секундомера. Пользовательское время — это количество времени, которое ЦП требуется для выполнения исключительно кода в вашем задании (это не включает системные вызовы, которые может выполнять ваше задание). Время ЦП — это количество времени, которое ЦП тратит на активное выполнение вашего кода, включая возможные системные вызовы.

2
ответ дан 19 July 2020 в 17:09