Dpc latency что это
Dpc latency checker как пользоваться
Если системные прерывания нагружают процессор.
Виной тому, что процессор перегружен практически в течение всего сеанса могут быть так называемые системные прерывания, а это, в свою очередь, означает, что проблема кроется в области установленного на компьютере оборудования или драйверах для этих устройств. Но предупреждаю сразу: даже объёма всей этой статьи не хватит, чтобы вычленить все причины (и тем более варианты их решений) почему системные прерывания просто убивают Windows. Ибо подход к поиску проблем усложняется использованием куда более сложного инструмента, чем тот, что описывается здесь.
Что такое системные прерывания и как попробовать справиться с перегрузкой процессора?
Причиной прерываний (точнее, слишком медленной время от времени работы) могут служить девайсы внутри вашего компьютера, установленные программы, а иногда и сам процессор. Ведь системные прерывания – есть некая форма взаимодействия между программой/«железом» и самим процессором. Всякий раз, когда новому процессу нужно появиться в системе, процессор бросает все дела и выполняет задачу. Неважно, нажал ли пользователь мышку или процесс запущен по расписанию, задача сразу добавляется в очередь на исполнение. По её выполнению процессор возвращается к предыдущему состоянию.
Как понимаете, системные прерывания вполне могут сигнализировать системе и пользователю, что в данный момент некоторые вычисления идут с ошибкой, что и выражается в серьёзных потреблениях ресурсов процессора этим «процессом». В здоровой системе системные прерывания «потребляют» НЕ БОЛЕЕ 2% от общего объёма работы процессора. Хотя мне встречались и процессоры с показателем прерывания от 3 до 10 %% – всё зависит от конфигурации. Но если вы заметили, что процессор тратит на прерывания хотя бы 5 – 10 %% от своей вычислительной мощности от сеанса к сеансу, это сигнал того, что у компьютера проблемы.
Системные прерывания. Как бороться с высокими показаниями?
Каждый из следующих шагов потребует перезагрузки системы. Не потому что так принято, а потому проблемы с прерываниями решаются часто простым перезапуском Windows.
Самое первое средство, которое поможет определить, виноваты ли битые драйверы в том, что системные прерывания нагружают процессор, это немецкая утилита DPC Latency Checker. Скачайте её по этой ссылке:
Установки не потребуется. Суть утилиты проста. Запускаем и начинаем работу в Windows до тех пор, пока системные прерывания не начнут нам мешать. Вот окно нормально работающей сборки:
А вот они начинают себя проявлять:
Утилита в поле комментария на английском языке советует вам перейти в Диспетчер устройств и приступить к поэтапному отключению сетевых устройств, звуковых карт, USB контроллеров, устройств bluetooth. Советую прислушаться. После каждого отключения всматривайтесь в Диспетчер задач и окно утилиты, посмотрите, как система реагирует на временное отключение оборудования. Продолжите отключением всех внешних устройств: модемы, внешние диски, флешки. И если в какой-то момент наметятся изменения к лучшему, примите решение об обновлении драйвера к устройству. Но чтобы не было проблем с запуском Windows, вот эти устройства лучше не отключать (эти драйверы жизненно необходимы, но это тоже драйверы, и вполне возможно придётся переустановить дрова на материнскую всем пакетом как при установке Windows начисто):
На такой же манер действует и программа LatencyMon
Она потребует установки, зато также бесплатна. Её задача – поиск файлов драйверов с высоким показателем вычислений, потраченных на отложенный вызов процедуры (процесса, который вызывается процедурой обработки прерывания в ответ на само прерывание, но необязательно сразу же исполняется). За этим мудрёным названием скрывается процесс поиска драйверов, в файлах которых хранится информация о том, что драйвер слишком много требует от процессора для обслуживания своего, приписанного конкретно ему устройства. Вот страница издателей:
на которой, впрочем, я своими слепыми глазами ссылки для скачивания не нашёл, а потому представлю вам возможность скачать программу с моего сайта
СКАЧАТЬ БЕСПЛАТНО ПРОГРАММУ LatencyMon
Переходим во вкладку Drivers и отсортируем их по наиболее уязвимым показаниям, нажав на колонку DPC count:
К первым в строчке присмотритесь: они и могут быть причиной ваших проблем.
Был один момент, когда ну никак не удавалось вычленить причину тормозов. Помог случай: пользователь “хапнул” вирус, который совершенно уничтожил DirectX, причём действовал крайне избирательно, убивая именно системные файлы Windows, оставляя DirectX игровые dll-ки. Пришлось ремонтировать систему обновлением, и – о чудо! – вместе с дрянью пропали и системные прерывания. Я не пожалел немного времени, но результат оказался неожиданный. Виновниками оказались не вирусы и не драйверы, а пакеты обновлений. Вот их имена:
Я настаиваю, что именно ПОСЛЕ УСТАНОВКИ ИМЕННО ЭТИХ ОБНОВЛЕНИЙ конкретный пользователь начинал мучиться от перегрузки системными прерываниями. Как-то так… вам информация к размышлению.
Тоже может послужить причиной того, что системные прерывания нагружают процессор донельзя. Приступайте к проверке, если предыдущий поиск битых драйверов успеха не принёс. А поможет вам в поиске проблем с “железом” сама Windows и встроенные утилиты самодиагностики. О них я писал уже в статье Тестирование компьютера: встроенные утилиты. Пробегите глазами, информация окажется полезной, не сомневайтесь. Знайте – отошедшие от разъёма шлейфа также могут быть виновниками злоключений. Я лично сталкивался с проблемами и перегрева процессора, и “забывчивости” про-апгрейдить BIOS для новенькой Windows 10 (об этом ниже) – везде итогом были заметные системные прерывания.
ПРИМЕЧАНИЕ. Если системные прерывания одолели ваш ноутбук, вам придётся убедиться, что у вас нет проблем с умирающим аккумулятором. Прочтите статью, как проверить батарею ноутбука собственными силами.
Собственно, речь идёт о том, чтобы сбросить звуковые эффекты в Windows до установленных по умолчанию. Щёлкните по иконке звука правой мышкой и нажмите на Устройства воспроизведения:
Во вкладке Воспроизведение щёлкните два раза по пункту дефолтных устройств (у меня Динамики), пройдите во вкладку Дополнительные возможности и установите галочку напротив Отключить все эффекты. Применить – ОК. Перезагружаемся и проверяем:
Не исключено. BIOS – первая программа, которая запускается после нажатия на кнопку включения компьютера. Так что время проверить обновления для вашей BIOS. А чтобы поиски нужной версии не затягивались во времени, проверьте версию вашей BIOS прямо сейчас. В консоли команд cmd наберите последовательно две команды:
systeminfo | findstr /I /c:bios wmic bios get manufacturer, smbiosbiosversion
I в первой команде – это большая латинская i.
Причина в жёстком диске?
“Вполне себе и даже очень”. Самый простой способ – проверьте диск на ошибки с помощью встроенных средств типа chkdsk. Если после “прогона” системные прерывания поутихли, причина обнаружена. Однако в случае, когда проблема появляется вновь и вновь, при всём том chkdsk неизменно обнаруживает ошибки, у вас проблемы (с жёстким, БП или материнской платой) – готовьтесь к худшему.
P.S. Ну, судя по отзывам проблема народ теребит. Обещаю тему развить в следующих статьях.
Решение проблемы подвисания компьютера (Windows 7, 8)
Первое что нужно сделать, чтобы определить, что проблема в драйверах — посмотреть время обработки прерываний. Для этого есть простая программа dpc latency checker. Запустив ее на час, можно посмотреть ее вердикт — есть проблемы с временем обработки прерываний или нет. Мне она показала, что они есть (причем в первую же минуту). Чтобы выяснить, кто же тормозит — использовал программу latencymon. Она мне показала, что постоянную задержку создает драйвер NDIS (какой-то сетевой драйвер). Для Win 8 и моей старой мат. платы (и встроенной сетевой карты) драйверов не нашлось.
Тут все понятно — на этой машине Windows 8 погонять не удастся. Нужен новый компьютер.
Если эти программы показывают, что все в порядке — вероятно, проблемы либо в драйверах, которые она не мониторит (возможно в драйверах ПО, например, антивируса), либо в софте, либо в железе. Проще всего проверить — переустановить Windows и запустить эти программы на чистой системе.
Resplendence Software — LatencyMon: real-time audio suitability checker
Starting and stopping LatencyMon
When LatencyMon starts, it will display a message to click the Start button to start analysis. Click the start button. The page under the Main tab will give an overview of the most important information. A detailed report is available under the Stats tab. When you are done click the Stop button.
The report view displays a conclusion of the suitability of your system for playing real-time audio at the top. If the execution times of all DPC and ISR routines stay below 2000 µs (microseconds), your system is considered suitable for handling real-time audio without dropouts. If some routines have execution times between 2000 µs and 4000 µs, your system is considered doubtful. If ISR or DPC routines are detected to execute for longer than 4000 µs, a system is considered unsuitable for handling real-time audio. Note that these numbers are just chosen arbitrarily. For optimal midi to audio latencies, buffer sizes of a sound card and driver should be set to very low values then only very low execution times of DPCs and ISRs become acceptable. The report view will display:
On a multi processor system, LatencyMon offers the option to exclude one or more CPUs from being measured by selecting them from the options menu. For a complete analysis you should select all available CPUs. This feature may be useful to check which CPUs are connected to interrupts and verify how ISRs and DPCs are distributed among available processors. Also it may allow you exclude certain processes to which you have assigned a certain affinity.
High DPC or ISR routine execution times: how to proceed
If LatencyMon reports the DPC and ISR execution times to be too high, you should take a look at the responsible drivers. It may be that these drivers belong to a device that is non-critical for the operation of your computer. If for example tcpip.sys or ndis.sys is reported as the culprit, chances are the problems are caused by your wireless network adapter, if you have one. You could consider disabling the WiFi adapter and receive internet via an Ethernet cable. You can disable devices by right-clicking on My Computer and selecting Device Manager, right-clicking a device and selecting disable. You should run LatencyMon again to check if the situation has improved, there might still be another device or driver causing audio latencies.
Note that if high latencies have been reported to be caused by drivers which are critical for the operation of your computer such as motherboard drivers, there may be nothing you can do to get your computer suitable for processing real time audio.
Hard pagefaults: how to proceed the investigation
We believe that hard pagefaults are the most common cause of audio dropouts. The effect of a program hitting hard pagefaults while playing audio is usually dramatic. One problem with pagefaults is that they often come in groups so that a row of pagefault causes interruption of the audio stream. Another problem with them is that unlike ISRs and DPCs, putting in more processors into a system will not help you to avoid them. Page faults need to get resolved immediately and any thread that hits them is suspended until the pagefault is resolved. Hitting a hard pagefault on a page file or memory mapped file that is backed on a drive that is spun down because of a power feature may interrupt a program for several seconds until it can proceed. If hard pagefaults are reported but no high DPC and ISR execution times you should investigate if these are the cause of audio dropouts. The difficulty with pagefaults is that they are common to occur so it’s hard to find out if they are the cause of audio dropouts and stutter. In order to find out if pagefaults are the cultprit you need to know that the pagefault occured in the process responsible for producing audio and also while it was producing audio.
To verify that the hard pagefault occured in your audio program, take the following steps:
Hard pagefaults should only be considered a problem if you can hear they are actually interrupting the audio stream. It is common for any program which uses a lot of memory to hit hard pagefaults. By observing the Processes view while audio is playing you can find out if hard pagefaults are being hit while audio is playing. If you found out that pagefaults are the cause of audio dropouts you should read the next section on how to avoid them.
How to avoid hard pagefaults
If you have concluded that hard pagefaults are the cause of audio dropouts, you can do any of the following to resolve the problems:
Other causes of audio dropouts, pops and clicks
This section summarizes a list of other possible causes of audio dropouts, clicks and pops. If there are no high DPC or ISR execution times reported and hard pagefaults are not the cause of the problems you should consider these.
Audio buffer sizes
To reduce midi to audio latencies (that is the time between a key press on a MIDI keyboard and the occurrence of the actual sound), the audio buffer size of the audio driver should be as low as possible. But it must be supportable by the system. The acceptable limit of 2000µs for DPC and ISR execution times has been arbitrarily chosen. The lower your audio buffer size, the lower the tolerance for long execution times of DPC and ISR routines and page fault resolution. In order to retain a system that does not drop out you may need to increase your audio buffer size. So it might be that your system is not suitable for low midi to audio latency but you might still be able to find an acceptable balance that works.
If a software synthesizer or effect requires too much execution time to compute its audio buffers in time it will cause stutter, clicks or pops. This can for example easily happen when playing too many voices or too many virtual instruments at the same time in a software synthesizer.
If there are simply too many threads competing for CPU time an audio program may not get enough attention from the scheduler to process its audio buffers. Threads are selected based on a priority scheme but if there are multiple programs running with threads running at high priority, there may just be not enough CPU time available for the audio software to fill its buffers in time. Threads responsible for producing audio normally run at highest or real-time priority. Competing threads with a lower priority may still get scheduled because the balance set manager which is part of the operating system will boost threads with a lower priority to avoid thread starvation. Closing down unnecessary programs, services and getting more CPUs will help you.
Bugs in audio software
Bugs in audio software can of course create all sorts of artifacts including pops and clicks. If problems are limited to one particular audio program or plugin, chances are it’s the program’s fault. It also deserves mentioning that exception handling requires a lot of processing power and causes interrupts to occur on the processor on which it’s running. A very common example is an audio plugin program which does not mask off floating point exceptions so that each division by zero or other forseeable problem causes an interrupt to occur.
Bugs in hardware or audio drivers
Bugs in hardware and audio drivers may also be responsible for causing stutter, pops and clicks.
All execution times are calculated based on a fixed CPU clock speed which is listed. For most accurate results you should disable variable clock speed settings in your BIOS setup such as Intel TurboBoost, SpeedStep and AMD Cool N Quiet.
Because of the nature of the software, it does not make sense to run this program inside a virtual machine if you wish to obtain useful measuring results.
LatencyMon documentation and articles
Note: this content is currently being updated.
Большинство пользователей сталкивалось с торможением своего ПК в самые неожиданные моменты. Я не исключение. Казалось бы, свежая система, и тормозить-то не на чем, однако что-то не так.
Ура-ура! Есть решение. И уже давно. Называется «DPC Latency checker». Авторы утилиты представляют «график», отображающий задержки при передаче потоков данных за одну секунду.
Если задержки на графике превышают зеленую линию и вообще выглядят, как всплески желтого или, того хуже, красного цвета, это плохо и какой-то драйвер работает неправильно/медленно/глючит.
Авторы предлагают последовательно отключать устройства в диспетчере устройств и отслеживать изменения в высоте всплесков задержек.
Внимание!
Отключать можно только следующее: звуковые карты, модемы, тв-тюнеры, сетевые/WIFI устройства.
Отключать, что-то другое не просто бессмысленно, но и опасно!
Таким образом, идентифицировав замедлитель, нужно подобрать ему другой, правильный драйвер, который не будет вызывать всплесков на графике задержек.
Вот так все просто.
Увы, авторы предупреждают, что в восьмерке утилита путается в показаниях.
ПыСы. У меня тормозила звуковая карта, аж на секунду задерживала. А сейчас почти полный штиль.
ПыПыСы. При слове драйверы я постоянно вспоминаю историю с башорга.
Дословно не помню. Парень пропал с форума на неделю. Когда вернулся, естественно вопросы: куда пропал и т.п. Ну он и отвечает: поставил FreeBSD, а драйверов сетевухи нету. Ну ему говорят: и что, за неделю, не смог найти в интернете что ли, хахахах? Нет, говорит, я его сам написАл.
Я не знаю, почему авторы выложили не в архиве.
Журнал для стильных и модных
Твоя жизнь в твоих руках! Читай и поступай правильно!
Высокие задержки DPC в видеокартах NVIDIA GTX 10-х серий и метод решения этой проблемы
До сих пор еще, очень много пользователей имеют в своих компьютерах видеокарты Nvidia 10-ой серии GTX 1060, GTX 1070, GTX 1080. Их владельцы по причине массового безумства, называемого майнингом, так и не смогли их поменять на видеокарты 20 и 30 серии по известным причинам. Потому данная серия видеокарт на сегодняшний день является актуальной для пользователей. И я не являюсь исключением, у меня есть компьютер с видеокартой PALIT JETSTREAM GTX 1070.
реклама
Майнинг нас всех вынудил сделать шаг назад по поколениям комплектующих. В начале 2020 года я думал, что моя видеокарта доживает уже последние дни своей актуальности. А сейчас понимаю, что она полностью актуальна на сегодняшний день, в связи со сложившейся ситуацией на рынке видеокарт.
В этой статье хочу поделиться с читателями о том, как компания NVIDIA в очередной раз «села в лужу» с видеокартами 10-й серии, причем конкретно так села, и до сих пор так и не смогла устранить имеющиеся с ними проблемы. Видеокарты Nvidia 10 серии прославились фризами и подвисаниями в играх, несмотря на высокие значения FPS при этом. Разбираться с этим вопросом я стал после того, как сам столкнулся с такими проблемами на своей видеокарте GTX 1070. Причем изменение настроек в любых их вариантах проблему не решило, фризы никуда не исчезли. Единственная настройка в драйвере видеокарты (в панели управления NVIDIA), которая хотя бы несколько уменьшила фризы, это включение на «ультра» режима низкой задержки.
реклама
Ответ компании NVIDIA, что проблема решена..
реклама
Последующая жалоба в компанию NVIDIA о нерешенной проблеме.
Никакие программные ухищрения к устранению данной проблемы не привели. А драйвера начиная с версии 386.95 с хост-фиксом, это такая себе полумера, для отвода глаз, которая проблему окончательно так и не решила, и после выпуска этого драйвера жалобы так и не прекратились. У меня вообще сложилось впечатление, что компания NVIDIA специально, осознанно «завалила» этот параметр задержек, чтобы за счет его ухудшения улучшить другие, по которым оценивается производительность в синтетических тестах, таким образом, для значительного повышения FPS они и создали эту неправильную работу системных таймеров прерываний. И получается, что в тестах все прекрасно, а играть невозможно.
Данную проблему еще усугубляет «количество подготовленных кадров», опция этого параметра так же находится в панели управления NVIDIA. Подготовленные кадры, так сказать кадры, хранящиеся в запасе, необходимы для того, чтобы поступление их на рендеринг в видеокарту от центрального процессора было непрерывным, даже если центральный процессор «затупит», и не успеет подготовить очередной кадр в срок по какой-либо причине. Эта функция не позволяет видеокарте простаивать в момент отсутствия очередного кадра от центрального процессора, кадр берется из запаса. Так же эта функция повышает FPS (количество кадров в секунду), но она значительно увеличивает задержки DPC, и для уменьшения задержек необходимо эту функцию отключить, или свести к минимуму количество подготовленных кадров.
Приведу для примера измерение задержек в своем компьютере с помощью программы «LatencyMon». Она в режиме реального времени проводит измерение задержек, и в случае превышения задержек, в скобках указывает виновника.
реклама
В первом случае отключаю драйвер видеокарты NVIDIA путем отключения устройства «NVIDIA GeForce GTX 1070» в диспетчере устройств, видеокарта в этом случае будет работать без драйвера, и провожу измерение задержек.
И по результату измерений видно, что программа «LatencyMon» ничего касающегося видеокарты, как виновника больших задержек не указала. А указала сетевой драйвер (network driver interface specification).
Теперь включаю драйвер видеокарты NVIDIA путем включения устройства «NVIDIA GeForce GTX 1070» в диспетчере устройств, и провожу повторно измерение.
И теперь видно, что программа «LatencyMon» указала виновника в больших задержках, которые составляют 551 мкс. И это драйвер видеокарты NVIDIA версии 465.89.
Что бы хотелось посоветовать для уменьшения эффекта фризов в видеокартах NVIDIA GTX 10-х серий:
1. В настройках панели управления NVIDIA, в режиме управления электропитанием установить режим максимальной производительности.
2. В настройках панели управления NVIDIA, режим низкой задержки обязательно включить на «ультра».
3. В настройках панели управления NVIDIA, максимальное количество заранее подготовленных кадров установить на минимум.
Сталкивались ли вы с такой проблемой в видеокартах NVIDIA GTX 10-х серий? И как вы их решили? Пишите в комментариях.
DPC Latency Checker
Thesycon DPC Latency Checker – инструмент, который производит анализ мультимедиа-потоков данных в среде операционных систем Windows XP, Vista, 7, 8 или 10. Именно данная программа помогает найти причину прерывающихся (выбывающих) потоков и устранить сбой, связанный с ними. Инструмент работает и на x32, и на x64 Bit системах. Сначала мы подробнее поговорим об этой утилите, а в самом низу статьи вы сможете бесплатно скачать Test DPC.
К сожалению, версии на русском языке не существует, но используя нашу инструкцию, вы без труда разберетесь с программой.
Обзор DPC Latency Checker
Если один из драйверов операционной системы «Виндовс» установлен неправильно (на уровне ядра) и скорость течения его процедурных вызовов (DPC) замедлена, тогда при воспроизведении медиапотоков он начинает «Выпадать». Ниже мы поговорим, как это происходит.
Инструмент, который мы рассматриваем, способен выявить задержки DPC. Причем работает он индивидуально и не зависит от установленного аппаратного обеспечения. Утилита пригодится в таких ситуациях:
Рассмотрим конкурентный пример работы с DPC Latency Checker и узнаем, что это за программа.
Как пользоваться
Утилита очень проста в эксплуатации. Скачайте dpclat.exe, затем запустите его. В результате вы увидите окошко (изображено на скриншоте ниже) в котором имеется ряд столбиков индикатора. Если красных столбцов нет, значит, в системе все работает исправно.
Для работы утилиты, ее не нужно устанавливать. Достаточно просто запустить.
DPC Latency Checker обновляет отображаемые данные с периодичностью в 1 секунду.
Так вот, каждый из столбиков – это величина задержки потока за одну секунду. Если она превысит рекомендуемое значение, индикатор станет красным. На скриншоте ниже вы видите обнаруженную задержку.
Для того чтобы остановить анализ длительности DPC, можно воспользоваться кнопкой Stop. Тут же находятся функции сброса замера и выход из программы.
Конкретный пример работы
Давайте рассмотрим прямой пример анализа величины DPC, чтобы понять, как работает программа. Для того чтобы исключить устройства из проверки, можно отключить их в диспетчере устройств.
Далее производится анализ задержки, и вы по очереди выключаете устройства в диспетчере задач до тех пор, пока индикатор DPC Latency Checker не станет полностью зеленым.
Не забывайте: период обновления данных у нас – 1 секунда, поэтому не нужно выключать компоненты ПК очень быстро.
Чаще всего задержка DPC проявляется именно с определенными видами устройств. Поэтому и отключать их нужно в первую очередь:
Внимание! Не отключайте модули, которые нужны для функционирования ПК. Например, выключив монитор, вы попросту уже ничего не увидите.
Оборудование, которое нельзя деактивировать:
Когда драйвер, который вызывает сбой, будет обнаружен, попробуйте обновить его. Если это не поможет, придется заменить аппаратный модуль.
Иногда функционала DPC Latency Checker не хватает для обнаружения ошибки. Если у вас произошла такая ситуация, используйте более сложный софт — Microsoft RATTV3.
Скачать DPC Latency Checker
По кнопке, расположенной ниже, вы можете бесплатно скачать последнюю версию программы с официального сайта. Русского языка, как мы говорили, тут нет, однако и без него разобраться очень просто.








