2016-06-23 3 views
1

Что все факторы важны при измерении времени процессора для процесса?Что все факторы важны при измерении времени процессора для процесса?

Я не заинтересован в How to measure CPU time, так как он во многом будет зависеть от операционной системы. Но я хочу знать, нужно ли мне измерять время процессора для процесса, что нужно суммировать все разное время, чтобы сообщать общее время процессора, затраченное процессом, который не зависит от ОС.

Я могу себе представить, что это будет сумма фактического времени процессора, выполняемого при выполнении инструкций (режим пользователя, а также режим ядра), а также время переключения контекста, время ввода/вывода и т. Д. Что все эти факторы? Небольшое объяснение каждого фактора также было бы очень полезно. Например, когда CPU переключается с процесса p1 на p2, в котором учитывается время процесса, затраченное на переключение?

+0

Не могли бы вы предоставить более подробную информацию? Например, ваше ведро «время, затраченное на переключение» или, скорее, ведро контекстного переключателя, можно разбить на более мелкие компоненты. – babon

+0

@babon: Вопрос в том, чтобы искать эти детали на верхнем уровне и, если возможно, на более низком уровне компонентов. – ViFI

ответ

0

«Время пользователя» относится к количеству процессорного времени, которое процесс тратит на выполнение в пользовательском пространстве. Это включает в себя код и весь код пользовательского пространства, который он выполняет, например. библиотеки. «Ядро» или «Системное» время относится к времени, которое процессор проводит в ядре, выполняя такие действия, как обработка прерываний, планирование задач, свопинг и т. Д. Я думаю, что вы хотите «Пользовательское время».

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

«Пользовательское время» обычно выражается как% от общего времени процессора.