Время ЦП пользователя против времени ЦП системы?


80

Не могли бы вы подробнее рассказать о «времени процессора пользователя» и «времени процессора системы»? Я много читал, но плохо понимал.



Ответы:


62

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


1
какой из них используется для запуска файлов "* .dll"?
user472221

4
@ user472221 dll - это концепция Win. Ваш вопрос не
связан с

1
@ user472221 Мой ответ основан на UNIX / Linux; та же концепция должна применяться в Windows. Я бы предположил, что большинство DLL находятся в пользовательском пространстве, хотя я не уверен, где Windows проводит черту. Если вы действительно хотите узнать, где ваша программа использует процессорное время, используйте профилировщик.
Майкл Экстранд

1
"Пространство пользователя" и "пространство ядра" - это то же самое, что и "режим пользователя / ядра"? Если ядро ​​работает, но в пользовательском режиме, используется ли эта учетная запись как пользовательское или системное время? Или это практическая разница только на микроядре?
Антонис Христофидес

Почему нужно различать пользователя или ядро? Например, является ли ядро ​​однопоточным, поэтому, если мой процесс связывает ядро ​​системным вызовом, другие должны ждать?
JohnMudd

27

Время ЦП пользователя : время, в течение которого процессор работал над определенной программой.

Системное время ЦП : время, в течение которого процессор работал над функциями операционной системы, связанными с этой конкретной программой.


7
Из какого источника этот текст?
нажатие клавиши

11
Организация и дизайн компьютера: аппаратно-программный интерфейс - Дэвид А. Паттерсон, Джон Л. Хеннесси - Стр. 30
Н Рандхава

1
Таким образом, можно иметь нулевое системное время для некоторого процесса, если ядро ​​не выполняет никаких операций в конкретном потоке, если я хорошо понимаю
HoCo_

22

Термин «процессорное время пользователя» может сначала ввести в заблуждение. Для ясности, общее время (реальное время ЦП) представляет собой комбинацию количества времени, которое ЦП тратит на выполнение некоторых действий для программы, и количества времени, которое ЦП тратит на выполнение системных вызовов ядра от имени программы. Когда программа проходит через массив, она накапливает время ЦП пользователя. И наоборот, когда программа выполняет системный вызов, такой как exec или fork, она накапливает время центрального процессора системы.


4

На основе википедии :

  • Пользовательское время - это количество времени, в течение которого ЦП был занят выполнением кода в пользовательском пространстве.
  • Системное время - это время, в течение которого ЦП был занят выполнением кода в пространстве ядра. Если это значение сообщается для потока или процесса, то оно представляет количество времени, в течение которого ядро ​​выполняло работу от имени исполняющего контекста, например, после того, как поток отправил системный вызов.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.