Что делает процент средний ЦП?

Я слежу за своим использованием процента ЦП процессом. Как процесс использует только 50% ЦП? Разве процесс не использует 100% затем 0%, затем 100%? Не как любая инструкция другая программа.

10
задан 14.09.2009, 22:53

7 ответов

Это только опрашивает общие количества о столь же в секунду. Вы смотрите на то, сколько из прошлой секунды это использовало.

Если Вы видите, что CPU находится в 50% на некоторое время, что, вероятно, продолжается, то, что он использует 100% одного CPU в двойной системе CPU.

16
ответ дан 07.12.2019, 12:34

Технически Вы корректны. В любой момент времени ЦП или используется или не используется. Но отображаясь это в графике не было бы очень полезно, таким образом, график составляет в среднем загрузку ЦП за некоторый промежуток времени, вероятно, каждую секунду.

11
ответ дан 07.12.2019, 12:34

ОС планирует процесс в течение определенного периода времени. Таким образом, если процесс планируется для (говорят), что 1 мс из 10 мс, то он будет использовать 10% ЦП.

Это немного парадоксально, с тех пор (в однопоточной, системе единственного ЦП), процесс или работает или не работает. т.е. это использует 100% или 0%. Процент, который Вы видите, измеряется по окну времени и является мерой ОС, выделяющей временные интервалы Вашему процессу для выполнения.

Обратите внимание, что Ваш процесс не будет способствовать этому при доступе к вводу-выводу. Таким образом, при выполнении огромного вычисления Вы зарегистрируете 100% (предположение, что ничто иное не работает). Если Вы затем будете ожидать сетевого пакета / доступ к диску и т.д., то Ваша фигура ЦП спустится, несмотря на то, что Ваш процесс все еще работает.

3
ответ дан 07.12.2019, 12:34

Это на основе среднего времени. Несмотря на все потоки может иметь тот же пакет процессорного времени (на основе приоритета), потоки могут просто сказать "спасибо, но я неактивен", и передача, это - поворот к следующему потоку. Вот почему программы не всегда используют то же время %, и большинство программ использует 0% ЦП, и программы, для которых действительно нужен ЦП, могут взять близкие 100% времени для себя.

Почему это ограничивает в 50%? У Вас, вероятно, есть два ядра процессора и его использование только один.

Или, как предложено, это использует гиперпоточность, но я не знаю, как этот ведет себя точно.

1
ответ дан 07.12.2019, 12:34

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

Но Ваша ОС находится промежуточная Ваши процессы и процессор, заставляя их совместно использовать время. Процент, который Вы видите, является процентом последнего времени обработки, которое ОС предоставила тому процессу.

2
ответ дан 07.12.2019, 12:34

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

0
ответ дан 07.12.2019, 12:34

Системное использование выбрано и усреднено, который является единственной разумной вещью сделать.

Например, ведут учет того, сколько времени процесс/поток провело выполнение в течение 1 секунды. Если это провело 1 секунду на ЦП, это составляет 100% ЦП (или 50%, если у Вас есть 2 центральных процессора и так далее), если это потратило 100 мс, это - 10%-я загрузка ЦП.

0
ответ дан 07.12.2019, 12:34

Теги

Похожие вопросы