Перейти к содержимому

Gpu perf limiter utilization что это

  • автор:

Gpu perf limiter utilization что это

Прикрепленное изображение

ROG Strix SCAR II
Продолжая славные традиции своего предшественника, ноутбук ROG Strix SCAR II предлагает всем любителям шутеров от первого лица еще более совершенное сочетание стиля и мощи. Его IPS-дисплей со сверхтонкой рамкой, частотой обновления 144 Гц и низким временем отклика (3 мс) выдает высококачественную картинку, помогая точнее и быстрее поймать противника в прицел. Удобная клавиатура отличается ускоренным срабатыванием клавиш – технология Overstroke. Чтобы увеличить зону охвата модуля Wi-Fi и повысить стабильность беспроводного сигнала, используется мультиантенная система RangeBoost. Устройство работает под управлением Windows 10 Pro, а в его аппаратную конфигурацию входят процессор Intel Core i7 восьмого поколения и видеокарта NVIDIA GeForce GTX 10-й серии, за стабильность которых отвечает система охлаждения HyperCool Pro. Ноутбук ROG Strix SCAR II – это идеальное оружие для метких стрелков!

ROG Strix Hero II
Продолжая славные традиции своего предшественника, ноутбук ROG Strix Hero II предлагает всем любителям игр жанра «MOBA-арена» еще более совершенное сочетание стиля и мощи. Благодаря сверхтонкой экранной рамке он стал компактнее, а IPS-дисплей с частотой обновления 144 Гц и широким цветовым охватом (100% sRGB) выдает высококачественную картинку, чтобы вы даже в самой жаркой схватке легко отличили союзника от противника. Удобная клавиатура может похвастать повышенной надежностью – до 20 миллионов нажатий, что в два раза выше промышленного стандарта. Чтобы увеличить зону охвата модуля Wi-Fi и повысить стабильность беспроводного сигнала, используется мультиантенная система RangeBoost. Устройство работает под управлением операционной системы Windows 10 Pro, а в его аппаратную конфигурацию входят процессор Intel Core i7 восьмого поколения и видеокарта NVIDIA GeForce GTX 1060, за стабильную работу которых отвечает система охлаждения HyperCool Pro. Ноутбук Strix Hero II – это игра на новом уровне!

Процессор: Intel Core i7 8750H (Coffee Lake) 2.2 ГГц
Intel Core i5 8300H (Coffee Lake) 2.3 ГГц
Оперативная память: 16 ГБ DDR4-2666 МГц
Экран: 15.6″ IPS (LED) Матовый , 144Гц
Разрешение: 1920×1080 Full HD
Видеокарта: NVIDIA GeForce® GTX 1060, 6144 мб
NVIDIA GeForce® GTX 1070, 8192 мб
Встроенная графика: Intel UHD Graphics 630, 64+1632 МБ
Звук: SonicMaster
Накопитель: 1000 ГБ HDD (5400 об/мин.), 128 ГБ SSD, Тип накопителя: HDD+SSD
1000 ГБ HDD (5400 об/мин.), 256 ГБ SSD, Тип накопителя: HDD+SSD

Связь: LAN 10/100/1000
Беспроводная связь: Bluetooth 5.0, WiFi (802.11 b/g/n/ac) 2×2
Порты: 3 x USB 3.1, 1 x USB Type-C, Kensington security, Line-out, Mic-in, HDMI, Mini DisplayPort
Слоты расширения: Картридер SD/SDHC/SDXC
Дополнительные устройства: Камера 1.0 Мп, Светодиодная подсветка клавиатуры
Устройства ввода: Клавиатура Windows, Тачпад

Материал корпуса: Пластик
Материал крышки: Алюминиевый сплав
Размеры корпуса: 36.1 x 26.2 x 2.6 см
Вес: 2.400 кг
Батарея: Литий-ионная, емкость — 4840 мАч (до 4.0 ч)

Что такое Power Limit видеокарты и почему он важен

Что такое Power Limit видеокарты и почему он важен

С параметром Power Limit видеокарты начинающий пользователь обычно сталкивается, занявшись ее разгоном и установив популярную утилиту MSI Afterburner, или используя возможности настройки и разгона в новых видеодрайверах NVIDIA и AMD. Давайте разберемся, что означает этот параметр, как и зачем его регулировать и почему он так важен при разгоне видеокарты.

Почему производители ограничивают энергопотребление видеокарт?

Видеокарты, как и любой другой электронный компьютерный компонент, потребляют электроэнергию при своей работе. А по уровню энергопотребления в игровом ПК обычно лидируют, оставляя далеко позади процессоры, модули ОЗУ или накопители. Еще на заре развития видеокарт производители перешли на цифровое управление их питанием и с помощью точных датчиков современные видеокарты способны дозировать уровень своего энергопотребления с точностью до ватта.

Регулируя параметры напряжения питания и частоты графического процессора и видеопамяти в соответствии с заложенным в BIOS алгоритмом, видеокарта пытается удержать максимальную частоту и производительность, не выходя за пределы максимально допустимого энергопотребления, которое обычно можно узнать из параметров TDP и TGP.
Параметр TDP видеокарт расшифровывается как Thermal Design Power или требования к теплоотводу, схож с TDP процессоров, но не отражает реального энергопотребления устройства, а показывает максимальное количество тепла, которое должна рассеять система охлаждения видеокарты.

Параметр TGP, расшифровываемый как Total Graphics Power, указывает суммарное энергопотребление графического процессора, печатной платы и видеопамяти и наиболее близок к реальному энергопотреблению видеокарты. Чем выше энергопотребление видеокарты, тем более качественной системой питания она должна быть оснащена, резко повышаются с его ростом и требования к системе охлаждения видеокарты.

Энергопотребление системы с современными видеокартами в играх

Это выливается не только в рост цены устройства, но и в повышенные требования к блоку питания пользователя, поэтому энергопотребление приходится строго ограничивать. Чтобы видеокарта не превысила расчетное энергопотребление, и нужен параметр Power Limit или «лимит энергопотребления», называемый еще «предел энергопотребления».
Как только современная видеокарта достигает лимита энергопотребления, механизм буста снижает частоту видеоядра и его напряжение, удерживая заданное в BIOS и драйвере видеокарты энергопотребление.

Как определить лимит энергопотребления?

Определить лимит энергопотребления поможет популярная бесплатная утилита GPU-Z от разработчика TechPowerUp, которой пользуются как оверклокеры, так и компьютерные энтузиасты. GPU-Z имеет интерфейс на английском языке, но всплывающие подсказки переведены на русский. Запустив утилиту, надо перейти на вкладку «Advanced», где в подразделе «General» мы увидим информацию о текущем, минимальном и максимальном параметре Power Limit в процентах, а также о диапазоне его ручной регулировки «Adjustment Range».

Выбрав пункт «AMD» или «Nvidia BIOS» в подразделе «Advanced» можно увидеть лимит энергопотребления в более привычных и понятных нам ваттах.

Вот так эти параметры выглядят у видеокарты GeForce GT 1030.

Еще одна полезная функция утилиты GPU-Z — подробный мониторинг всех датчиков видеокарты во вкладке «Sensors», по которым мы можем понять, «уперлась» ли видеокарта в лимит энергопотребления под нагрузкой. Показатели в графе «PerfCap Reason» означают следующее: Idle — лимит использования GPU, vRel и vOp — лимит по допустимому и рабочему напряжению, Thrm — лимит по температуре, а Pwr — интересующий нас лимит по энергопотреблению, отображаемый зеленым цветом.

Почему Power Limit важен и почему производители завязали на него разгон видеокарт?

Параметр Power Limit стал неразрывно связан с разгоном видеокарт, ведь при разгоне неизбежно растет энергопотребление, особенно, если производится повышение напряжения на видеочипе. И если вы хотите добиться серьезного прироста производительности, то параметр Power Limit стоит увеличить. Но нужно учитывать несколько нюансов.

Следует принимать во внимание специфику настройки Power Limit не только на разных семействах видеокарт, но и на конкретных экземплярах. К примеру, видеокарты NVIDIA последних поколений не позволяют повышать напряжение на видеочипе, и даже в разгоне «аппетит» младших и средних моделей вырастет не очень сильно.

При этом производители во многих моделях, особенно OC — OverClock-версиях, уже заложили расширенный Power Limit по умолчанию. Например, у видеокарты ASUS ROG Strix GeForce RTX 3060 Ti Power Limit по умолчанию составляет 240 ватт с возможностью увеличения до 325 ватт. Для видеокарты с параметром TGP, равным 200 ватт, этого более чем достаточно даже для экстремального разгона, ведь судя по обзорам, эта модель даже в версии ОС с повышенными частотами в среднем потребляет 229 ватта в играх.

На старших, более мощных моделях видеокарт, например, GeForce RTX 3070 и выше, Power Limit уже может становиться одним из главных ограничивающих факторов производительности даже без разгона. Его увеличение дает прирост производительности, но важно учитывать, что растет и температура видеокарты вместе с энергопотреблением.

Некоторые модели видеокарт еще сильнее откликаются на увеличение Power Limit в сочетании с разгоном, заметно повышая производительность. Например, экстремальное увеличение Power Limit на внушительные 95 % у Radeon RX 5700 XT позволило этой видеокарте в некоторых тестах обогнать разогнанную GeForce RTX 2070 Super и вплотную приблизиться к GeForce RTX 2080.

Тесты, проведенные редактором известного сайта Tom's Hardware, показали еще и заметное увеличение энергопотребления видеокарты, работающей в таком режиме. Это чревато риском выхода ее из строя, поэтому заниматься разгоном производительных видеокарт стоит с большой осторожностью. Нужно взвесить, стоит ли полученный прирост производительности такого роста энергопотребления, температур и системы питания видеокарты, работающей на пределе возможностей.

Все больше опытных пользователей, наоборот, готовы пожертвовать некоторой долей производительности видеокарты, получив за это более тихую работу с небольшим нагревом. Проще всего добиться этого регулировкой параметра Power Limit в сторону уменьшения, достигая баланса между низким энергопотреблением и невысокими температурами с приемлемой производительностью.

Особенно полезна такая регулировка будет в игровых ноутбуках, пользователи которых массово жалуются на то, что их видеокарты работают в жестком температурном режиме с постоянно включающемся механизмом троттлинга. Уменьшение Power Limit в этом случае может дать более стабильную кадровую частоту без рывков, пусть и с меньшим средним FPS. Снизится и температура устройства, что положительно скажется на сроке его службы, это особенно важно в наше время дефицита и высоких цен на видеокарты и игровые ноутбуки.

Часто применяется уменьшение параметра Power Limit в майнинге, например, криптовалюты Ethereum, когда, чтобы добиться максимальной энергоэффективности видеокарт и повысить доход, лимит уменьшают до минимума. Но стоит учитывать, что самых впечатляющих результатов снижения энергопотребления и температур видеокарты как в играх, так и в майнинге можно добиться, используя заметно более сложный для новичка андервольтинг через регулировку зависимости частот и напряжений.

Можно ли изменить Power Limit конкретной модели в большую или меньшую сторону?

Производители дают возможность не только мониторить Power Limit, но и регулировать его. Регулировка параметра Power Limit индивидуальна для каждой модели видеокарты и может быть как заблокирована полностью, так и только на повышение в бюджетных или ноутбучных видеокартах с простой системой питания и слабой системой охлаждения, не рассчитанных на разгон устройства.

А максимальный диапазон регулировки Power Limit обычно встречается на игровых и оверклокерских моделях видеокарт с усиленной системой питания, рассчитанной на серьезный разгон, и массивной системой охлаждения, способной отвести лишнее тепло, не допуская перегрева.

С помощью утилиты GPU-Z, упомянутой в начале статьи, мы уже научились смотреть доступный диапазон регулировок Power Limit для конкретной модели видеокарты. Произвести регулировку поможет утилита MSI Afterburner, ставшая универсальным средством разгона и настройки видеокарт, а также способная регулировать лимиты на большинстве существующих моделей. После ее установки и запуска в главном окне появится ползунок Power Limit, показывающий значение в процентах, перемещая который можно увеличить или уменьшить его значение.

По умолчанию ползунок Power Limit связан с ползунком «Temp. Limit», который используется для ограничения максимально допустимой температуры видеочипа, а рассинхронизировать их можно, кликнув по иконке цепи между ними. После регулировки нужно нажать кнопку «Применить» в виде галочки, а получившиеся параметры можно сохранить в профиль, который будет загружаться при старте Windows.

Еще более удобный способ регулировки Power Limit, доступный для видеокарт последних поколений, появился в драйверах Nvidia с установленной утилитой GeForce Experience. Достаточно включить в настройках «Экспериментальные функции», открыть оверлей в игре нажатием «Alt + Z» и перейти на вкладку «Производительность», где можно как контролировать все параметры видеокарты, так и настроить Power Limit, названный здесь «Максимальное энергопотребление».

В свежих видеодрайверах AMD Radeon Software Adrenalin тоже появилась подобная возможность тонкой настройки видеокарты. По нажатию «Alt + Z» запускается Radeon Software поверх игры, где для настройки Power Limit нужно выбрать вкладку «Производительность» с возможностью мониторинга и настройки множества параметров видеокарты.

Перейдя в «Настройки» и включив галочку «Настройка энергопотребления» можно произвести регулировку параметра Power Limit.

Итоги

Как видите, параметр Power Limit не так прост, как кажется на первый взгляд. Грамотное использование его регулировки позволит вам сделать видеокарту быстрее или же двигаться в сторону тишины и низкого энергопотребления. Но стоит помнить, что увеличение Power Limit, особенно на старших моделях видеокарт, стоит производить только на свой страх и риск, понимая возможные последствия.

Gpu Perf Limiter Utilization что это операционные системы

Karom újraszervezése kapcsolat rog gaming center amd gpu hívás nvidia mid range performance/$ adjusted for inflation : perf limiter utilization Что Это Финанс Центр что это Операционные системы low while training should i buy better cpu? pytorch impact of hardware accelerated scheduling on perf: rtx 2080 optimization does indicate bad fit what s this showing my and doesn t stay at 100% (5700 xt) amdhelp 19201 pc builder unveils maxwell: a supremely power efficient architecture Для чего нужны операционные usage/utilization noxappplayer how to monitor performance windows 10 урок 1: такое компьютер и операционная batch size num workers vs memory forums tab v ray 5 3ds max chaos group help drop r9 r7 gpus: bold new direction 2014 that uses old Все о Понятие Виды 6 КЛАСС Информатика в школе Операционная система torq 38a 3/8 torque tool x 4 box#ees2 ebay

Gpu perf limiter utilization что это

Прикрепленное изображение

ROG Strix SCAR II
Продолжая славные традиции своего предшественника, ноутбук ROG Strix SCAR II предлагает всем любителям шутеров от первого лица еще более совершенное сочетание стиля и мощи. Его IPS-дисплей со сверхтонкой рамкой, частотой обновления 144 Гц и низким временем отклика (3 мс) выдает высококачественную картинку, помогая точнее и быстрее поймать противника в прицел. Удобная клавиатура отличается ускоренным срабатыванием клавиш – технология Overstroke. Чтобы увеличить зону охвата модуля Wi-Fi и повысить стабильность беспроводного сигнала, используется мультиантенная система RangeBoost. Устройство работает под управлением Windows 10 Pro, а в его аппаратную конфигурацию входят процессор Intel Core i7 восьмого поколения и видеокарта NVIDIA GeForce GTX 10-й серии, за стабильность которых отвечает система охлаждения HyperCool Pro. Ноутбук ROG Strix SCAR II – это идеальное оружие для метких стрелков!

ROG Strix Hero II
Продолжая славные традиции своего предшественника, ноутбук ROG Strix Hero II предлагает всем любителям игр жанра «MOBA-арена» еще более совершенное сочетание стиля и мощи. Благодаря сверхтонкой экранной рамке он стал компактнее, а IPS-дисплей с частотой обновления 144 Гц и широким цветовым охватом (100% sRGB) выдает высококачественную картинку, чтобы вы даже в самой жаркой схватке легко отличили союзника от противника. Удобная клавиатура может похвастать повышенной надежностью – до 20 миллионов нажатий, что в два раза выше промышленного стандарта. Чтобы увеличить зону охвата модуля Wi-Fi и повысить стабильность беспроводного сигнала, используется мультиантенная система RangeBoost. Устройство работает под управлением операционной системы Windows 10 Pro, а в его аппаратную конфигурацию входят процессор Intel Core i7 восьмого поколения и видеокарта NVIDIA GeForce GTX 1060, за стабильную работу которых отвечает система охлаждения HyperCool Pro. Ноутбук Strix Hero II – это игра на новом уровне!

Процессор: Intel Core i7 8750H (Coffee Lake) 2.2 ГГц
Intel Core i5 8300H (Coffee Lake) 2.3 ГГц
Оперативная память: 16 ГБ DDR4-2666 МГц
Экран: 15.6″ IPS (LED) Матовый , 144Гц
Разрешение: 1920×1080 Full HD
Видеокарта: NVIDIA GeForce® GTX 1060, 6144 мб
NVIDIA GeForce® GTX 1070, 8192 мб
Встроенная графика: Intel UHD Graphics 630, 64+1632 МБ
Звук: SonicMaster
Накопитель: 1000 ГБ HDD (5400 об/мин.), 128 ГБ SSD, Тип накопителя: HDD+SSD
1000 ГБ HDD (5400 об/мин.), 256 ГБ SSD, Тип накопителя: HDD+SSD

Связь: LAN 10/100/1000
Беспроводная связь: Bluetooth 5.0, WiFi (802.11 b/g/n/ac) 2×2
Порты: 3 x USB 3.1, 1 x USB Type-C, Kensington security, Line-out, Mic-in, HDMI, Mini DisplayPort
Слоты расширения: Картридер SD/SDHC/SDXC
Дополнительные устройства: Камера 1.0 Мп, Светодиодная подсветка клавиатуры
Устройства ввода: Клавиатура Windows, Тачпад

Материал корпуса: Пластик
Материал крышки: Алюминиевый сплав
Размеры корпуса: 36.1 x 26.2 x 2.6 см
Вес: 2.400 кг
Батарея: Литий-ионная, емкость — 4840 мАч (до 4.0 ч)

Thread: GFX72VM GPU Perf Limiter is always on UTILIZATION

I bought a few months ago a GFX72VM which is working very well for me, however, after I performed a clean installed I noticed that the gaming center (1.0.12) always has the GPU Perf Limiter Utilization.

Prior to that, every time I paused a game and checked the gaming centre I could see the label change.

The computer is much quieter now during standard tasks but I think it heats more during games: On wow using the nvidia experience configuration it reaches temperatures between 80-90 �C . Funny thing, when I go into the desktop to check the gaming center the fans kick in immediately and it starts to cool very fast.

I performed a window factory reset which effectively erased all the partitions previous data so I cannot confirm which software I had before.

Thank you for any advice.

  • View Profile
  • View Forum Posts
  • Private Message

To be honest it’s pretty much what you should see from my understanding. It basically means the GPU is downclocking because the GPU isn’t being utilised. Run the sensor screen in GPU-Z and set each value to ‘max’. Then whilst keeping GPU-Z running start playing a game for 5 minutes. Then close the game and look at GPU-Z. It will show you the maximum GPU usage and click speeds during the gaming session so you can see the GPU utilisation. Additionally you can move your mouse over the ‘PerfCap Reason’ timeline to see if it is throttled for any reason other than utilisation. Hope this helps.

Sent from my Nexus 6 using Tapatalk

  • View Profile
  • View Forum Posts
  • Private Message

Thank you very much for the advice. I had not heard about this tool.

I did what you said this is during light load:


https://www.dropbox.com/s/jr8uz7wdz7. _load.png?dl=0

And this is after playing. more than 5 minutes I am afraid .


https://www.dropbox.com/s/ktuifdr4qc. _load.PNG?dl=0

I saved a log and I during perf utilization it is either on 16 (basic load) and during gaming it goes to 1 sometimes. I think these are the codes meaning:

/*!
* Power. Indicating perf is limited by total power limit.
*/
NV_GPU_PERF_POLICY_ID_SW_POWER = 1,
/*!
* Utilization. Indicating perf is limited by GPU utilization.
*/
NV_GPU_PERF_POLICY_ID_SW_UTILIZATION = 16,

Do you think this is right?

  • View Profile
  • View Forum Posts
  • Private Message

I’m moving house today so won’t get time time for a few days to check my G752VT but you GPU temps get very high. Have you overclocked your GPU?

Pretty sure the Power perf limit means you’ve reached your power target. But looking at the sensor screen yr click speeds and GPU load all take a dive at one point but don’t seem to show a corresponding change in the Per Limiter.

Метрика загруженности процессора (CPU utiliztion) — это не то что вы думаете

Ромка аватар

Метрика загруженности процессора (CPU utiliztion), которую все мы привыкли использовать, обычно понимается неправильно. Что такое загруженность процессора? То насколько процессор сейчас занят работой? Нет, это не так, и да, я говорю о метрике %CPU , которая используется всегда и везде, в каждой утилите мониторинга производительности, например в top(1) .

Как вы думаете, что значит нагрузка на процессор 90% на картинке ниже?

Вот что это значит на самом деле:

Stalled, то есть «приостановлено» значит, что в данный момент процессор не обрабатывает инструкции, обычно это означает, что он ожидает завершения операций ввода/вывода связанных с памятью (здесь и далее речь о RAM, а не дисковом вводе/выводе). Соотношение между «занято» и «приостановлено» (busy/stalled), которое я привел выше, это то что я обычно вижу в продакшене. Вероятно, что ваш процессор тоже большую часть времени находится в stalled состоянии, но вы об этом и не догадываетесь.

Что это значит для вас? Понимание того насколько много ваш процессор находится в приостановленном состоянии может помочь вам понять куда направить усилия по оптимизации производительности приложения: на ускорение кода или уменьшение числа операций ввода/вывода связанных с памятью. Всем кто заинтересован в оптимизации нагрузки на процессор, в особенности в облаках с настроенным автомасштабированием на основе нагрузки на CPU, будет полезно знать насколько долго процессор находится в приостановленном состоянии.

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

Метрика, которую мы называем нагрузкой на процессор (CPU utilization) на самом деле это «не-idle время», то есть время, которое процессор не выполняет idle-тред. Ядро вашей операционной системы (какую бы ОС вы не использовали) обычно следит за этим во время переключения контекста. Если не-idle тред запустился, а затем спустя 100 милисекунд остановился, то ядро посчитает, что процессор был использован в течение всего этого времени.

Эта метрика так же стара как и системы совместного использования времени (time sharing systems). В бортовом компьютере лунного модуля Apollo (это пионер среди систем совместного использования времени) idle-тред назывался «DUMMY JOB» и инженеры мониторили циклы выполняющие его в сравнении с реальными задачами, это было важной метрикой измерения нагрузки. (Я писал об этом ранее).

Что же с этой метрикой не так?

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

Со временем все становится только хуже. Долгое время производители процессоров увеличивали тактовые частоты своих процессоров быстрее чем производители памяти уменьшали задержки доступа к памяти (CPU DRAM gap). Примерно в 2005 году процессоры достигли частот в 3 GHz и с тех пор мощность процессоров растет не за счет увеличения тактовой частоты, а за счет большего числа ядер, гипертрединга и многопроцессорных конфигураций. Все это предъявляет еще больше требований к памяти. Производители процессоров пытались снизить задержки связанные с памятью за счет больших по размеру и более умных CPU-кешей, более быстрых шин и соединений. Но проблема со stalled-состоянием все еще не решена.

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

Сделать это можно используя Performance Monitoring Counters (PMC-счетчики): хардверные счетчики, которые могут быть прочитаны с помощью Linux pref (пакет linux-tools-generic в Линуксе) и других утилит. Для примера понаблюдаем за всей системой в течение 10 секунд:

Ключевая метрика здесь instructions per cycle (insns per cycle: IPC, число инструкций за один цикл), которая показывает сколько в среднем инструкций было выполнено за каждый такт. Чем больше, тем лучше. В примере выше значение 0.78 кажется очень неплохим (нагрузка 78%?) до тех пор пока вы не узнаете, что максимальная скорость процессора это IPC 4.0. Такие процессоры называют 4-wide, это название пошло от особенностей пути извлечения/декодирования инструкций в процессоре (подробнее об этом в Википедии).

Это означает, что процессор может выполнить 4 операции за каждый такт, поэтому значение 0.78 для 4-wide системы означает, что процессор работает на 19,5% от своих возможностей. Новый процессор Skylake от Intel — это 5-wide процессор.

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

В облаках

Если вы работаете в виртуальном окружении, то вероятно у вас нет доступа к PMC-счетчикам, это зависит от поддержки этой фичи гипервизором. Я недавно писал о том, что PMC-счетчики теперь доступны в AWS EC2 в виртуальных машинах базирующихся на Xen.

Как интерпретировать и что делать

Если ваш IPC < 1.0, то вероятнее всего, процессор приостановлен из-за медленной памяти, поэтому нужно оптимизировать софт так, чтобы он требовал меньше операций с памятью, совершенствовать кеширование в процессоре и локальность памяти, особенно в NUMA системах. Оптимизация железа в таком случае подразумевает использование процессоров с большим объемом кешей, более быстрой памятью, шинами и соединениями.

Если ваш IPC > 1.0, то вероятно, вы ограничены числом инструкций, которые может выполнять процессор. Попробуйте найти способ уменьшить число выполняемых инструкций: уменьшить число ненужной работы, кешировать операции и т.п. CPU flame графы — отличная утилита для этих целей. С точки зрения тюнинга железа, попробуйте использовать процессор с большей тактовой частотой и большим числом ядер и гипертредов.

Для моих правил выше я выбрал значение IPC 1.0, почему именно его? Я пришел к нему из своего опыта работы с PMC-счетчиками. Вы можете выбрать для себя другое значение. Сделайте два тестовых приложения, одно упирающееся по производительности в процессор, другое — в память. Посчитайте IPC для них и возьмите среднее значение.

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

Каждая такая утилита должны показывать IPC вместе с нагрузкой на процессор. Или разделять нагрузку на процессор на instruction-retired и циклы stalled циклы, то есть, %INS и %STL .

Кроме утилиты top(1) для Линукса есть утилита tiptop(1) , которая показывает IPC для каждого процесса:

Другие причины почему CPU utilization вводит в заблуждение

Проблема со stalled-циклами может быть не только в задержках связанных с памятью:
— изменение температуры может влиять на приостановленность процессора,
— турбобуст может менять тактовую частоту процессора,
— ядро варьирует частоту процессора с определенным шагом,
— проблема с усреднением: 80% нагрузки в течение минуты скроет кратковременный всплеск до 100%,
— спинлоки: процессор нагружен, имеет высокий IPC, но приложение ничего не делает.

Заключение

Нагрузка на процессор (CPU utilization) это обычно неправильно интерпретируемая метрика, так как она включает циклы, потраченные на ожидание ответа от основной памяти, которые могут доминировать в современных нагрузках. Вы можете понять что на самом деле стоит за %CPU используя дополнительные метрики, включая число инструкций за цикл (IPC). Если IPC < 1.0, то вероятно вы упираетесь в память, если IPC > 1.0, то в скорость процессора. Я писал про IPC в своем предыдущем посте, в том числе написал и о использовании PMC-счетчиках, необходимых для измерения IPC.

Инструменты мониторинга производительности, которые показывают %CPU должны показывать PMC-счетчики, чтобы не вводить пользователей в заблуждение. Например, они могут показывать %CPU с IPC и/или число instruction-retired и stalled циклов. Вооруженные этими метриками разработчики и админы могут решить как правильнее тюнинговать их приложения и системы.

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

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