Время ядра процессора что это

Вывод времени ядра в Диспетчере задач

При входе на сервер я всегда использую Диспетчер задач (Task Manager) для просмотра текущей активности. Я проверяю сетевую активность, процент потребленного времени ЦП и оперативной памяти, а также запущенные процессы.

Кроме того, я обязательно включаю в Диспетчере задач отображение времени ядра. Для этого нужно открыть вкладку «Быстродействие» (Performance) и выбрать опцию «Вывод времени ядра» (Show kernel times) в меню «Вид» (View). После этого на графике появляется красная кривая, которая отображает активность приложений, работающих в режиме ядра. На рис. A показан Диспетчер задач Windows Server с выводом времени ядра.

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

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

Вывод времени ядра позволяет выявить случаи чрезмерной активности сервера в ходе административного сеанса. При запуске инструментов администрирования на локальном сервере можно отследить, не слишком ли много на это уходит пользовательских ресурсов процессора. Лучше всего это видно при 100-процентной загрузке процессора. Если кривая времени ядра на пике — значит, основную нагрузку на сервер создают системные процессы. Если кривая времени ядра не совпадает с кривой времени пользователя — значит, административный сеанс потребляет слишком много ресурсов процессора.

А вы пользуетесь этой функцией? Помогает ли вам вывод времени ядра при диагностике? Поделитесь своим опытом в комментариях!

Автор: Rick Vanover
Перевод SVET

Оцените статью: Голосов

Источник

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

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

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

Где можно об этом прочитать чтобы стало понятно?

для диспетчера задач существуют 12 ядер для исполнения программ.
что они эмулированы через HT из 6 физических он даже не подозревает. да и пофих ему до таких тонкостей.
Он просто двенадцать ядер загружает работой и считает время использования.
и собственно это и отображается.

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

Время ядра процессора что это. Смотреть фото Время ядра процессора что это. Смотреть картинку Время ядра процессора что это. Картинка про Время ядра процессора что это. Фото Время ядра процессора что это

При этом, нет запущенных программ которые бы грузили сразу 12 потоков.

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

Источник

Сравнение времени работы в режима ядра и в пользовательском режиме

Чтобы посмотреть, сколько времени ваша система работает в режиме ядра по сравнению с работой в пользовательском режиме, можно воспользоваться Системным монитором (Performance Monitor).

Выполните следующие действия:

Время ядра процессора что это. Смотреть фото Время ядра процессора что это. Смотреть картинку Время ядра процессора что это. Картинка про Время ядра процессора что это. Фото Время ядра процессора что это

6. По окончании работы закройте окно инструментального средства. Такую же картину можно быстро просмотреть с помощью Диспетчера задач (Task Manager). Щелкните на вкладке Производительность (Performance), а затем выберите в меню Вид (View) пункт Вывод времени ядра (Show Kernel Times). На графике загруженности центрального процессора зеленым цветом будет показана его общая загруженность, а красным — загруженность в режиме ядра.

Чтобы увидеть, сколько времени в режиме ядра и в пользовательском режиме использует сам Системный монитор (Performance Monitor), запустите его еще раз, но при этом добавьте отдельные счетчики процесса % работы в пользовательском режиме (% User Time) и % работы в привилегированном режиме (% Privileged Time) для каждого процесса в системе:

Вы должны увидеть (найдя в столбце Экземпляр (Instance) процесс mmc), что график времени выполнения процесса, принадлежащего Системному монитору, в режиме ядра и в пользовательском режиме при перемещении мыши пошел вверх, поскольку в нем выполняется прикладной код в пользовательском режиме, и вызываются Windows-функции, запускаемые в режиме ядра. Обратите также внимание на активность потока, принадлежащего процессу csrss и выполняемого в режиме ядра при перемещении мыши.

Эта активность возникает благодаря тому, что этому процессу принадлежит исходный поток ввода той подсистемы Windows, выполняемой в режиме ядра, которая обрабатывает ввод с клавиатуры и с мыши. И наконец, процесс Idle, который, как можно заметить, тратит почти 100 % своего времени на работу в режиме ядра, на самом деле процессом не является, это ложный процесс, используемый для подсчета холостых циклов центрального процессора.

Судя по режиму, в котором запускаются потоки процесса Idle, когда Windows нечего делать, процесс ожидания происходит в режиме ядра.

Источник

Вы неверно измеряете загрузку процессора

Та метрика, которую мы называем «загрузкой процессора» на самом деле многими людьми понимается не совсем верно. Что же такое «загрузка процессора»? Это то, насколько занят наш процессор? Нет, это не так. Да-да, я говорю о той самой классической загрузке CPU, которую показывают все утилиты анализа производительности — от диспетчера задач Windows до команды top в Linux.

Вот что может означать «процессор загружен сейчас на 90%»? Возможно, вы думаете, что это выглядит как-то так:

Время ядра процессора что это. Смотреть фото Время ядра процессора что это. Смотреть картинку Время ядра процессора что это. Картинка про Время ядра процессора что это. Фото Время ядра процессора что это

А на самом деле это выглядит вот так:

Время ядра процессора что это. Смотреть фото Время ядра процессора что это. Смотреть картинку Время ядра процессора что это. Картинка про Время ядра процессора что это. Фото Время ядра процессора что это

«Работа вхолостую» означает, что процессор способен выполнить некоторые инструкции, но не делает этого, поскольку ожидает чего-то — например, ввода-вывода данных из оперативной памяти. Процентное соотношение реальной и «холостой» работы на рисунке выше — это то, что я вижу изо дня в день в работе реальных приложений на реальных серверах. Есть существенная вероятность, что и ваша программа проводит своё время примерно так же, а вы об этом и не знаете.

Что это означает для вас? Понимание того, какое количество времени процессор действительно выполняет некоторые операции, а какое — лишь ожидает данные, иногда даёт возможность изменить ваш код, уменьшив обмен данных с оперативной памятью. Это особенно актуально в нынешних реалиях облачных платформ, где политики автоматического масштабирования иногда напрямую завязаны на загрузку CPU, а значит каждый лишний такт «холостой» работы стоит нам вполне реальных денег.

Что же такое загрузка процессора на самом деле?

Та метрика, которую мы называем «загрузкой процессора» на самом деле означает нечто вроде «время не-простоя»: то есть это то количество времени, которое процессор провёл во всех потоках кроме специального «Idle»-потока. Ядро вашей операционной системы (какой бы она ни была) измеряет это количество времени при переключениях контекста между потоками исполнения. Если произошло переключение потока выполнения команд на не-idle поток, который проработал 100 милисекунд, то ядро операционки считает это время, как время, потраченное CPU на выполнение реальной работы в данном потоке.

Эта метрика впервые появилась в таком виде одновременно с появлением операционных систем с разделением времени. Руководство программиста для компьютера в лунном модуле корабля «Апполон» (передовая на тот момент система с разделением времени) называла свой idle-поток специальным именем «DUMMY JOB» и инженеры сравнивали количество команд, выполняемых этим потоком с количеством команд, выполняемых рабочими потоками — это давало им понимание загрузки процессора.

Так что в этом подходе плохого?

Сегодня процессоры стали значительно быстрее, чем оперативная память, а ожидание данных стало занимать львиную долю того времени, которое мы привыкли называть «временем работы CPU». Когда вы видите высокий процент использования CPU в выводе команды top, то можете решить, что узким местом является процессор (железка на материнской плате под радиатором и кулером), хотя на самом деле это будет совсем другое устройство — банки оперативной памяти.

Ситуация даже ухудшается со временем. Долгое время производителям процессоров удавалось наращивать скорость их ядер быстрее, чем производители памяти увеличивали скорость доступа к ней и уменьшали задержки. Где-то в 2005-ом году на рынке появились процессоры с частотой 3 Гц и производители сконцентрировались на увеличении количества ядер, гипертрейдинге, много-сокетных конфигурациях — и всё это поставило ещё большие требования по скорости обмена данных! Производители процессоров попробовали как-то решить проблему увеличением размера процессорных кэшей, более быстрыми шинами и т.д. Это, конечно, немного помогло, но не переломило ситуацию кардинально. Мы уже ждём память большую часть времени «загрузки процессора» и ситуация лишь ухудшается.

Как же понять, чем на самом деле занят процессор

Используя аппаратные счетчики производительности. В Linux они могут быть прочитаны с помощью perf и других аналогичных инструментов. Вот, например, замер производительности всей системы в течении 10 секунд:

Ключевая метрика здесь это «количество инструкций за такт» (insns per cycle: IPC), которое показывает, сколько инструкций в среднем выполнил процессор на каждый свой такт. Упрощённо: чем больше это число, тем лучше. В примере выше это число равно 0.78, что, на первый взгляд кажется не таким уж плохим результатом (78% времени выполнялась полезная работа?). Но нет, на этом процессоре максимально возможным значением IPC могло бы быть 4.0 (это связано со способом получения и выполнения инструкций современными процессорами). То есть наше значение IPC (равное 0.78) составляет всего 19.5% от максимально возможной скорости выполнения инструкций. А в процессорах Intel начиная со Skylake максимальное значение IPC уже равно 5.0.

В облаках

Когда вы работаете в виртуальном окружении, то можете и не иметь доступа к реальным счетчикам производительности (это зависит от используемого гипервизора и его настроек). Вот статья о том, как это работает в Amazon EC2.

Интерпретация данных и реагирование

Если у вас IPC 1.0, то ваше приложение страдает не столько от ожидания данных, сколько от чрезмерного количества выполняемых инструкций. Ищите более эффективные алгоритмы, не делайте ненужной работы, кэшируйте результаты повторяемых операций. Применение инструментов построения и анализа Flame Graphs может быть отличным способом разобраться в ситуации. С аппаратной точки зрения вы можете использовать более быстрые процессоры и увеличить количество ядер.

Как вы видите, я провёл черту по значению IPC равному 1.0. Откуда я взял это число? Я рассчитал его для своей платформы, а вы, если не доверяете моей оценке, можете рассчитать его для своей. Для этого напишите два приложения: одно должно загружать процессор на 100% потоком выполнения инструкций (без активного обращения к большим блокам оперативной памяти), а второе должно наоборот активно манипулировать данным в ОЗУ, избегая тяжелых вычислений. Замерьте IPC для каждого из них и возьмите среднее. Это и будет примерная переломная точка для вашей архитектуры.

Что инструменты мониторинга производительности на самом деле должны показывать

Я считаю, что каждый инструмент мониторинга производительности должен показывать значение IPC рядом с загрузкой процессора. Это сделано, например, в инструменте tiptop под Linux:

Другие причины неверной трактовки термина «загрузка процессора»

Процессор может выполнять свою работу медленнее не только из-за потерь времени на ожидание данных из ОЗУ. Другими факторами могут быть:

Источник

Что такое центральный процессор?

Время ядра процессора что это. Смотреть фото Время ядра процессора что это. Смотреть картинку Время ядра процессора что это. Картинка про Время ядра процессора что это. Фото Время ядра процессора что это

Наверное, каждый пользователь мало знакомый с компьютером сталкивался с кучей непонятных ему характеристик при выборе центрального процессора: техпроцесс, кэш, сокет; обращался за советом к друзьям и знакомым, компетентным в вопросе компьютерного железа. Давайте разберемся в многообразии всевозможных параметров, потому как процессор – это важнейшая часть вашего ПК, а понимание его характеристик подарит вам уверенность при покупке и дальнейшем использовании.

Время ядра процессора что это. Смотреть фото Время ядра процессора что это. Смотреть картинку Время ядра процессора что это. Картинка про Время ядра процессора что это. Фото Время ядра процессора что это

Центральный процессор

Процессор персонального компьютера представляет собой микросхему, которая отвечает за выполнение любых операций с данными и управляет периферийными устройствами. Он содержится в специальном кремниевом корпусе, называемом кристаллом. Для краткого обозначения используют аббревиатуру — ЦП (центральный процессор) или CPU (от англ. Central Processing Unit – центральное обрабатывающее устройство). На современном рынке компьютерных комплектующих присутствуют две конкурирующие корпорации, Intel и AMD, которые беспрестанно участвуют в гонке за производительность новых процессоров, постоянно совершенствуя технологический процесс.

Техпроцесс

Техпроцесс — это размер, используемый при производстве процессоров. Он определяет величину транзистора, единицей измерения которого является нм (нанометр). Транзисторы, в свою очередь, составляют внутреннюю основу ЦП. Суть заключается в том, что постоянное совершенствование методики изготовления позволяет уменьшать размер этих компонентов. В результате на кристалле процессора их размещается гораздо больше. Это способствует улучшению характеристик CPU, поэтому в его параметрах всегда указывают используемый техпроцесс. Например, Intel Core i5-760 выполнен по техпроцессу 45 нм, а Intel Core i5-2500K по 32 нм, исходя из этой информации, можно судить о том, насколько процессор современен и превосходит по производительности своего предшественника, но при выборе необходимо учитывать и ряд других параметров.

Архитектура

Также процессорам свойственно такая характеристика, как архитектура — набор свойств, присущий целому семейству процессоров, как правило, выпускаемому в течение многих лет. Говоря другими словами, архитектура – это их организация или внутренняя конструкция ЦП.

Количество ядер

Время ядра процессора что это. Смотреть фото Время ядра процессора что это. Смотреть картинку Время ядра процессора что это. Картинка про Время ядра процессора что это. Фото Время ядра процессора что этоЯдро – самый главный элемент центрального процессора. Оно представляет собой часть процессора, способное выполнять один поток команд. Ядра отличаются по размеру кэш памяти, частоте шины, технологии изготовления и т. д. Производители с каждым последующим техпроцессом присваивают им новые имена (к примеру, ядро процессора AMD – Zambezi, а Intel – Lynnfield). С развитием технологий производства процессоров появилась возможность размещать в одном корпусе более одного ядра, что значительно увеличивает производительность CPU и помогает выполнять несколько задач одновременно, а также использовать несколько ядер в работе программ. Многоядерные процессоры смогут быстрее справиться с архивацией, декодированием видео, работой современных видеоигр и т.д. Например, линейки процессоров Core 2 Duo и Core 2 Quad от Intel, в которых используются двухъядерные и четырехъядерные ЦП, соответственно. На данный момент массово доступны процессоры с 2, 3, 4 и 6 ядрами. Их большее количество используется в серверных решениях и не требуется рядовому пользователю ПК.

Частота

Помимо количества ядер на производительность влияет тактовая частота. Значение этой характеристики отражает производительность CPU в количестве тактов (операций) в секунду. Еще одной немаловажной характеристикой является частота шины (FSB – Front Side Bus) демонстрирующая скорость, с которой происходит обмен данных между процессором и периферией компьютера. Тактовая частота пропорциональна частоте шины.

Сокет

Время ядра процессора что это. Смотреть фото Время ядра процессора что это. Смотреть картинку Время ядра процессора что это. Картинка про Время ядра процессора что это. Фото Время ядра процессора что это

Чтобы будущий процессор при апгрейде был совместим с имеющейся материнской платой, необходимо знать его сокет. Сокетом называют разъем, в который устанавливается ЦП на материнскую плату компьютера. Тип сокета характеризуется количеством ножек и производителем процессора. Различные сокеты соответствуют определенным типам CPU, таким образом, каждый разъём допускает установку процессора определённого типа. Компания Intel использует сокет LGA1156, LGA1366 и LGA1155, а AMD — AM2+ и AM3.

Кэш — объем памяти с очень большой скоростью доступа, необходимый для ускорения обращения к данным, постоянно находящимся в памяти с меньшей скоростью доступа (оперативной памяти). При выборе процессора, помните, что увеличение размера кэш-памяти положительно влияет на производительность большинства приложений. Кэш центрального процессора различается тремя уровнями (L1, L2 и L3), располагаясь непосредственно на ядре процессора. В него попадают данные из оперативной памяти для более высокой скорости обработки. Стоит также учесть, что для многоядерных CPU указывается объем кэш-памяти первого уровня для одного ядра. Кэш второго уровня выполняет аналогичные функции, отличаясь более низкой скоростью и большим объемом. Если вы предполагаете использовать процессор для ресурсоемких задач, то модель с большим объемом кэша второго уровня будет предпочтительнее, учитывая что для многоядерных процессоров указывается суммарный объем кэша L2. Кэшем L3 комплектуются самые производительные процессоры, такие как AMD Phenom, AMD Phenom II, Intel Core i3, Intel Core i5, Intel Core i7, Intel Xeon. Кэш третьего уровня наименее быстродействующий, но он может достигать 30 Мб.

Энергопотребление

Время ядра процессора что это. Смотреть фото Время ядра процессора что это. Смотреть картинку Время ядра процессора что это. Картинка про Время ядра процессора что это. Фото Время ядра процессора что этоЭнергопотребление процессора тесно связано с технологией его производства. С уменьшением нанометров техпроцесса, увеличением количества транзисторов и повышением тактовой частоты процессоров происходит рост потребления электроэнергии CPU. Например, процессоры линейки Core i7 от Intel требуют до 130 и более ватт. Напряжение подающееся на ядро ярко характеризует энергопотребление процессора. Этот параметр особенно важен при выборе ЦП для использования в качестве мультимедиа центра. В современных моделях процессоров используются различные технологии, которые помогают бороться с излишним энергопотреблением: встраиваемые температурные датчики, системы автоматического контроля напряжения и частоты ядер процессора, энергосберегающие режимы при слабой нагрузке на ЦП.

Дополнительные возможности

Современные процессоры приобрели возможности работы в 2-х и 3-х канальных режимах с оперативной памятью, что значительно сказывается на ее производительности, а также поддерживают больший набор инструкций, поднимающий их функциональность на новый уровень. Графические процессоры обрабатывают видео своими силами, тем самым разгружая ЦП, благодаря технологии DXVA (от англ. DirectX Video Acceleration – ускорение видео компонентом DirectX). Компания Intel использует вышеупомянутую технологию Turbo Boost для динамического изменения тактовой частоты центрального процессора. Технология Speed Step управляет энергопотреблением CPU в зависимости от активности процессора, а Intel Virtualization Technology аппаратно создает виртуальную среду для использования нескольких операционных систем. Также современные процессоры могут делиться на виртуальные ядра с помощью технологии Hyper Threading. Например, двухъядерный процессор способен делить тактовую частоту одного ядра на два, что способствует высокой производительности обработки данных с помощью четырех виртуальных ядер.

Размышляя о конфигурации вашего будущего ПК, не забывайте про видеокарту и ее GPU (от англ. Graphics Processing Unit – графическое обрабатывающее устройство) – процессор вашей видеокарты, который отвечает за рендеринг (арифметические операции с геометрическими, физическими объектами и т.п.). Чем больше частота его ядра и частота памяти, тем меньше будет нагрузки на центральный процессор. Особенное внимание к графическому процессору должны проявить геймеры.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *