Как пользоваться latencymon


Если системные прерывания нагружают процессор...

Процессор перегружен ? Виноваты системные прерывания .

Виной тому, что процессор перегружен практически в течение всего сеанса могут быть так называемые системные прерывания, а это, в свою очередь, означает, что проблема кроется в области установленного на компьютере оборудования или драйверах для этих устройств. Но предупреждаю сразу: даже объёма всей этой статьи не хватит, чтобы вычленить все причины (и тем более варианты их решений) почему системные прерывания просто убивают Windows. Ибо подход к поиску проблем усложняется использованием куда более сложного инструмента, чем тот, что описывается здесь.

Что такое системные прерывания и как попробовать справиться с перегрузкой процессора?

Системные прерывания появляются в Диспетчере задач в качестве системного процесса, однако по сути они таковым не являются. Эта «служба» носит лишь репрезентативный характер, отображая загруженность процессора при работе с прерываниями на низком уровне. Она – неотъемлемая часть Windows, убить процесс нельзя. Несмотря на зловещее название, системные прерывания – обязательная и нормальная часть процесса взаимодействия ЦПУ и остального оборудования.

Причиной прерываний (точнее, слишком медленной время от времени работы) могут служить девайсы внутри вашего компьютера, установленные программы, а иногда и сам процессор. Ведь системные прерывания – есть некая форма взаимодействия между программой/«железом» и самим процессором. Всякий раз, когда новому процессу нужно появиться в системе, процессор бросает все дела и выполняет задачу. Неважно, нажал ли пользователь мышку или процесс запущен по расписанию, задача сразу добавляется в очередь на исполнение. По её выполнению процессор возвращается к предыдущему состоянию.

Как понимаете, системные прерывания вполне могут сигнализировать системе и пользователю, что в данный момент некоторые вычисления идут с ошибкой, что и выражается в серьёзных потреблениях ресурсов процессора этим «процессом». В здоровой системе системные прерывания «потребляют» НЕ БОЛЕЕ 2% от общего объёма работы процессора. Хотя мне встречались и процессоры с показателем прерывания от 3 до 10 %% – всё зависит от конфигурации. Но если вы заметили, что процессор тратит на прерывания хотя бы 5 – 10 %% от своей вычислительной мощности от сеанса к сеансу, это сигнал того, что у компьютера проблемы.

Системные прерывания. Как бороться с высокими показаниями?

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

Самое первое средство, которое поможет определить, виноваты ли битые драйверы в том, что системные прерывания нагружают процессор, это немецкая утилита DPC Latency Checker. Скачайте её по этой ссылке:

http://www.thesycon.de/dpclat/dpclat.exe

Установки не потребуется. Суть утилиты проста. Запускаем и начинаем работу в Windows до тех пор, пока системные прерывания не начнут нам мешать. Вот окно нормально работающей сборки:

А вот они начинают себя проявлять:

Утилита в поле комментария на английском языке советует вам перейти в Диспетчер устройств и приступить к поэтапному отключению сетевых устройств, звуковых карт, USB контроллеров, устройств bluetooth. Советую прислушаться. После каждого отключения всматривайтесь в Диспетчер задач и окно утилиты, посмотрите, как система реагирует на временное отключение оборудования. Продолжите отключением всех внешних устройств: модемы, внешние диски, флешки. И если в какой-то момент наметятся изменения к лучшему, примите решение об обновлении драйвера к устройству. Но чтобы не было проблем с запуском Windows, вот эти устройства лучше не отключать (эти драйверы жизненно необходимы, но это тоже драйверы, и вполне возможно придётся переустановить дрова на материнскую всем пакетом как при установке Windows начисто):

На такой же манер действует и программа LatencyMon 

http://www.resplendence.com/downloads

Она потребует установки, зато также бесплатна. Её задача – поиск файлов драйверов с высоким показателем вычислений, потраченных на отложенный вызов процедуры (процесса, который вызывается процедурой обработки прерывания в ответ на само прерывание, но необязательно сразу же исполняется). За этим мудрёным названием скрывается процесс поиска драйверов, в файлах которых хранится информация о том, что драйвер слишком много требует от процессора для обслуживания своего, приписанного конкретно ему устройства. Вот страница издателей:

http://www.resplendence.com/latencymon

на которой, впрочем, я своими слепыми глазами ссылки для скачивания не нашёл, а потому представлю вам возможность скачать программу с моего сайта

СКАЧАТЬ БЕСПЛАТНО ПРОГРАММУ LatencyMon

Запустившись, та сразу сообщила мне о возможных проблемах с DVD приводом – драйвер atapi.sys отвечает  именно за него (а кстати, привод не работает уже почти 3 месяца…) . Предупреждает, что возможно потребуется перепрошить BIOS:

Переходим во вкладку Drivers и отсортируем их по наиболее уязвимым показаниям, нажав на колонку DPC count:

К первым в строчке присмотритесь: они и могут быть причиной ваших проблем.

Был один момент, когда ну никак не удавалось вычленить причину тормозов. Помог случай: пользователь “хапнул” вирус, который совершенно уничтожил DirectX, причём действовал крайне избирательно, убивая именно системные файлы Windows, оставляя DirectX игровые dll-ки. Пришлось ремонтировать систему обновлением, и – о чудо! – вместе с дрянью пропали и системные прерывания. Я не пожалел немного времени, но результат оказался неожиданный. Виновниками оказались не вирусы и не драйверы, а пакеты обновлений. Вот их имена:

  • KB3199986
  • KB4013418
  • KB3211320

Я настаиваю, что именно ПОСЛЕ УСТАНОВКИ ИМЕННО ЭТИХ ОБНОВЛЕНИЙ конкретный пользователь начинал мучиться от перегрузки системными прерываниями. Как-то так… вам информация к размышлению.

Тоже может послужить причиной того, что системные прерывания нагружают процессор донельзя. Приступайте к проверке, если предыдущий поиск битых драйверов успеха не принёс. А поможет вам в поиске проблем с “железом” сама 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. Ну, судя по отзывам проблема народ теребит. Обещаю тему развить в следующих статьях.

Успехов вам.

computer76.ru

Решение проблемы подвисания компьютера (Windows 7, 8)

Недавно я решил попробовать использовать систему Windows 8 RP. Однако у меня возникла странная проблема - подвисание звука и видео несколько раз за день. Подвисания были странные - звук дергался 4 раза и дальше все было нормально. Сразу скажу, все дело оказалось в драйверах и самой Windows 8 RP. Почитав форумы, понял что причины могут быть как железные, так и программные. Компьютеру уже 5 лет, сам по себе не тормозит, но все таки 5 лет - большой срок, могло что-то испортиться в звуковухе (встроенной). Но решил поначалу поискать проблемы в ПО.

Первое что нужно сделать, чтобы определить, что проблема в драйверах - посмотреть время обработки прерываний. Для этого есть простая программа dpc latency checker. Запустив ее на час, можно посмотреть ее вердикт - есть проблемы с временем обработки прерываний или нет. Мне она показала, что они есть (причем в первую же минуту). Чтобы выяснить, кто же тормозит - использовал программу latencymon. Она мне показала, что постоянную задержку создает драйвер NDIS (какой-то сетевой драйвер). Для Win 8 и моей старой мат. платы (и встроенной сетевой карты) драйверов не нашлось.

Тут все понятно - на этой машине Windows 8 погонять не удастся. Нужен новый компьютер.

Если эти программы показывают, что все в порядке - вероятно, проблемы либо в драйверах, которые она не мониторит (возможно в драйверах ПО, например, антивируса), либо в софте, либо в железе. Проще всего проверить - переустановить Windows  и запустить эти программы на чистой системе.

trinka-blog.blogspot.com

Resplendence Software - LatencyMon: real-time audio suitability checker

Using LatencyMon

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.

Report view

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:

  • highest measured DPC execution time
  • the driver that was executing the longest executing DPC routine
  • frequency of DPC executions (divided in execution time categories)
  • highest measured ISR execution time
  • the driver that was executing the longest executing ISR routine
  • frequency of ISR executions (divided in execution time categories)
  • highest measured hard pagefault resolution time
  • the process in which the hard pagefault occurred that took the most time to resolve
  • frequency of hard pagefault hits
  • Selecting CPUs

    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:

  • Stop the monitor by clicking the stop button
  • Click the Processes tab
  • Now click on the Number of pagefaults column so the view gets sorted
  • Now look for the process name of the audio application that was running and see if it was hit

    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:

  • Close down unnecessary applications which consume a lot of RAM
  • Close down unnecessary service applications which consume a lot of RAM (the Search Indexer service is notorious)
  • Increase the amount of RAM in your system
  • Increase the working set of the audio application, only an option if you are the author of the software.
  • Make sure audio data is paged-in (resident). Pages of memory are swapped out based on their use counts. If you use Windows for live playing, do a silent run of your software synthesizer. After changing patch on a sampler, touch all keys so that all memory it uses is paged-in to avoid embarrasing scenes.
  • Disable the pagefile altogether. You can disable the pagefile by right-clicking My Computer and selecting Advanced System Settings->Advanced->Performance Settings->Advanced->Virtual memory->Change. Note that if you have no pagefile, the system can run out of memory if not enough memory is available. Also the system will no longer create crash dump files in case of a system crash.
  • 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.

    CPU overloading

    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.

    Thread Contention

    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.

    Considerations

    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.

    www.resplendence.com


    Смотрите также