Що означає відсоток процесора?


10

Я спостерігаю за процесом використання відсотка використання процесора. Як процес використовує лише 50% процесора? Чи не використовується процес 100%, а потім 0%, а потім 100%? Його не так, як кожна інша інструкція - це інша програма.


1
Чи є випадковий подвійний процесор?

Безумовно, питання для SuperUser.
Noldorin

Відповіді:


15

Це лише опитування складає приблизно один раз в секунду. Ви дивитеся, скільки з останньої секунди вона використовувала.

Якщо ви бачите, що процесор сидить на 50% на деякий час, то, що, ймовірно, відбувається в тому, що він використовує 100% одного процесора в системі з двома процесорами.


4
"одне ядро ​​системи з двоядерним ядром" - ... або навіть один CPU з 'hyperthreading'.

@ChrisW: виправлено.
Joel Coehoorn

Відсотки використання процесора часто повідомляються зі 100% для кожного процесора окремо, тому загальна кількість потужності процесора, що використовується в двоядерній системі, становить 200%, у чотирьохядерних 400% тощо.
David Z

Не в windows task manager вони не є.
Joel Coehoorn

11

Технічно ви правильні. У будь-який момент часу ЦП використовується або не використовується. Але відображення цього на графіку не буде дуже корисним, тому графік усереднює використання ЦП протягом певного періоду часу, ймовірно, кожну секунду.


3

ОС розраховує процес протягом певного періоду часу. Тому, якщо процес запланований на (скажімо) 1 мс від 10 мс, то він буде використовувати 10% процесора.

Це трохи протилежне, оскільки (в однопоточній системі з одним процесором) процес або працює, або не працює. тобто використовує 100% або 0%. Відсоток, який ви бачите, вимірюється за часовим вікном і є мірою операційної системи, яка виділяє часові інтервали для вашого процесу.

Зверніть увагу, що ваш процес не сприятиме цьому, якщо ви отримуєте доступ до I / O. Отже, якщо ви робите величезний розрахунок, ви зареєструєте 100% (якщо нічого іншого не буде запущено). Якщо ви чекаєте доступу до мережних пакетів / дисків тощо, цифра вашого процесора знизиться, незважаючи на те, що ваш процес все ще працює.


2

На дуже низькому рівні, ви в основному праві. У будь-який даний момент, процесор або виконує інструкцію для даного процесу, або це не так.

Але ваша ОС сидить між вашими процесами і процесором, змушуючи їх ділитися часом. Відсоток, який ви бачите, - це відсоток нещодавнього часу, коли операційна система надала цей процес.


1

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

Чому вона обмежується 50%? Ви, мабуть, маєте два ядра процесора і використовуєте тільки одне.

Або, як було запропоновано, він використовує гіпертонінг, але я не знаю, як саме він веде себе.


0

Можливо, програма виконує багато операцій вводу-виводу (читання чи запис на диску або мережі). Це дозволить зайняти програму, але потребує невеликого або відсутнього процесорного часу.


0

Використання системи вибірково і усереднюється, що є єдиним розумним завданням.

Напр. запис про те, скільки часу триває процес / потік, проведений протягом 1 секунди. Якщо він витратив 1 секунду на процесор, це 100% CPU (або 50%, якщо у вас є 2 процесора і так далі), якщо він витратив 100ms, що це 10% використання процесора.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.