iproger
@iproger
Безответственный гений

Как понимать отображение загрузки ядер в диспетчере?

Я знаком с диспетчерами задач уже лет 20, но только недавно понял что не знаю как надо воспринимать загрузку дополнительных ядер. Возьмем процессор i7-8700k, у него есть 6 ядер на которых 12 виртуальных. В ОС показываются все 12 с загрузкой каждого.
Для примера диспетчер винды:
5c63175199945590829526.png
Мне стало казаться что для фиктивных ядер указывается не конкретно их загрузка, а их загрузка + существующая загрузка физического ядра. Обычно, если посмотреть на их графики то заметно что многие из них имеют похожую картинку. На мой картинке это хорошо видно по 3 самым правым. При этом, нет запущенных программ которые бы грузили сразу 12 потоков. Ожидание что будут загружены, например, 1-4, но не 12.
Еще в диспетчере винды есть "показать время ядра". Тоже не ясно что это.

Как все таки работает отображение:
- для каждого отдельно;
- для каждого отдельно, но дополнительные виртуальные вместе с нагрузкой от основного виртуального;
- физическая загрузка + виртуальное, для дополнительных.

Где можно об этом прочитать чтобы стало понятно?
  • Вопрос задан
  • 2934 просмотра
Решения вопроса 2
@pfg21
ex-турист
для диспетчера задач существуют 12 ядер для исполнения программ.
что они эмулированы через HT из 6 физических он даже не подозревает. да и пофих ему до таких тонкостей.
Он просто двенадцать ядер загружает работой и считает время использования.
и собственно это и отображается.

ты не совсем правильно понимаешь, нет разделения ядер на физическое + виртуальное.
на физическом ядре просто параллельно выполняются два потока инструкций, так эффективнее получается использовать многостадийный конвеер исполнения физ.ядра.
т.е из одного физического ядра получаются два абсолютно эквивалетных виртуальных ядра.
Ответ написан
Комментировать
athacker
@athacker
При этом, нет запущенных программ которые бы грузили сразу 12 потоков.

Операционке всегда есть, чем заняться :-) Так что 12 потоков вполне могут быть заняты.

"Время ядра" -- это показатель, какой процент времени за интервал измерения выполнялся код ядра (так называемый kernel mode). Т. е. всё как я юниксе: есть system time -- процессы ядра и то, что на этом уровне работает, драйвера какие-нибудь, например. И есть user time -- т. е. обычные приложения, работающие в user mode.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы