Отчет об ошибках windows 8 загружает процессор
С ошибками в Windows знакомо большинство пользователей. Разработчики предусмотрели реакцию операционной системы на такие события, которая заключается в отсылке отчёта о неполадке на сервере Microsoft с целью её анализа и устранения в будущих обновлениях. Насколько хорошо программисты справляются с этой задачей, мы обсуждать не берёмся, но и сама эта служба далеко не безупречна, иногда приводя к зависаниям компьютера. Сегодня мы рассмотрим, как работает Windows Error Reporting и что делать, если она начинает грузить CPU и диск.
Отключение Error Reporting в Windows 10
В Windows 10 опция «Параметры отчета о неполадках» была удалена из окна параметров центра поддержки, поэтому для отключения формирования отчетов о программных ошибках в этой версии системы придется действовать в обход.
Откройте через окошко «Выполнить» одноименной командой редактор реестра Regedit и раскройте ключ:
HKLM\SOFTWARE\MicrosoftWindows\Windows Error Reporting
Справа создайте новый DWORD -параметр.
Назовите его Disabled и задайте в качестве его значения единицу.
Сохраните настройки, закройте редактор реестра и перезагрузите компьютер.
Описание примера отключения функции Error Reporting через редактор групповых политик мы опускаем, поскольку его результат является эквивалентным применяемому твику реестра, к тому же редактор gpedit.msc доступен не всех редакциях Windows.
Отключение вывода отчётов об ошибках через редактор групповой политики
Действительно, если у вас есть сеть с несколькими компьютерами (а в среднем офисе их может быть десяток-другой), вместо того, чтобы выполнять все эти манипуляции энное количество раз, можно воспользоваться проверенным средством – редактором групповых политик.
Используя консоль «Выполнить», набираем команду gpmc.msc или gpedit.msc (первая – для редактора доменной GPO, вторая – для локальной). Ищем и открываем ветку Computer Configuration, затем выбираем подпункт Administrative Templates, заходим в ветку Windows Components, и наконец, кликаем по строке Windows Error Reporting.
Если в правом окне напротив параметра Disable Windows Error Reporting стоит значение Disabled, кликаем по этому параметру и в открывшемся окне изменяем его значение на Enable (Включено).
Вот и всё, теперь это правило будет действовать на все компьютерах в рамках домена. Кстати, точно такая же политика имеется в разделе User Configuration.
Возможно, вы захотите отключить создание отчетов об ошибках, чтобы избежать отправки частной информации о вашем компьютере в Microsoft, потому что вы не подключены к интернету все время или просто чтобы перестать получать уведомления от раздражающих предупреждений.
Отчеты об ошибках включены по умолчанию во всех версиях Windows, но их легко отключить из панели управления или из служб, в зависимости от вашей версии Windows.
Прежде чем отключить создание отчетов об ошибках, имейте в виду, что это не только полезно для Microsoft, но и, в конечном счете, полезно для вас, владельца Windows. Эти отчеты об ошибках отправляют в Microsoft важную информацию о проблеме, с которой сталкивается операционная система или программа, и помогают им разрабатывать будущие исправления и пакеты обновлений, делая Windows более стабильной.
Универсальный способ отключения Error Reporting
Предложенный ниже способ является универсальным и одинаково работает в Windows 7, 8.1 и Windows 10.
Вызовите окошко «Выполнить» и выполните в нём команду services.msc , чтобы открыть оснастку управления службами.
Отыщите справа службу «Служба регистрации ошибок Windows», откройте ее свойства и выставьте параметры так, как показано на скриншоте после чего сохраните настройки.
Любители командной строки могут отключить ее через консоль.
Запустив командную строку или PowerShell от имени администратора и выполните в ней команду:
В Windows 8.1 уже давно подмечена одна малоприятная особенность, проявляющаяся в чрезмерной загрузке жёсткого диска HDD при отсутствии видимых причин. Внешне это проявляется резким снижением производительности, зависаниями при выполнении даже самых простых действий, а также усиленной работой кулеров.
Если в этот момент просмотреть сведения об общем использовании дисков в Диспетчере задач, то можно будет увидеть, что загруженность в колонке «Диск» колеблется в пределах 90-100 процентов.
Причины повышенной нагрузки на диск могут быть вполне естественными. Она нередко наблюдается при распаковке и сжатии больших массивов данных, фоновой дефрагментации, резервном копировании, реже — при работе торрент-клиентов и службе обновления Windows. Подобное может наблюдаться при высокой фрагментации диска, наличии на нём логических ошибок, а также его физическом износе. Заодно было бы неплохо уточнить на сайте производителя компьютера совместим ли данный ПК с Windows 8 и 8.1.
Как отключить Windows problem reporting
Нередко сбои в работе приложений приводят к его аварийному завершению, но, когда в дело вступает Служба оповещений об ошибках, она сама становится источником проблем. Если такие случаи возникают часто при выполнении однотипных задач (например, при вставке большого массива данных в документ), самое простое решение – отключить службу WER, раз уж она не справляется со своими прямыми обязанностями.
Рассмотрим основные способы отключения Windows problem reporting, если служба грузит диск, процессор и систему в целом.
Практическое решение
Но самыми распространёнными причинами чрезмерной загруженности диска в Windows 8.1 является работа некритичных системных компонентов. Отключив их, можно снизить или полностью устранить нежелательную нагрузку на диск.
Как вариант, для начала можно попробовать отключить файл подкачки. Заходим в дополнительные свойства системы.
Выбираем «Быстродействие», переключаемся на вкладку «Дополнительно».
И отключаем выделение виртуальной памяти.
Н адо признать, это не самое лучшее что можно придумать , к тому же отключение свайпа часто не приносит ожидаемых результатов, скорее напротив, может вызвать дополнительные проблемы.
Более действенным решением может стать отключение индексации файлов и службы Superfetch. Для этого переходим в управлении службами (командой services.msc ) и отключаем службы Windows Search.
И Superfetch.
Чтобы изменения вступили в силу, перезагружаем компьютер.
Снизить загрузку HDD также можно предоставив процессу System, а именно он чаще всего является виновником всех бед, больше прав. Откройте Диспетчер задач, найдите процесс System, кликните по нему правой кнопкой мыши и откройте его свойства. Далее переключитесь на вкладку «Безопасность».
И установите для пакета «ВСЕ ПРИЛОЖЕНИЯ» все доступные галочки .
Если чекбоксы в окне разрешения для группы окажутся неактивными, вам потребуется вначале сменить владельца TrustedInstaller на себя самого. Для этого в окне свойств процесса жмём «Дополнительно», в верхней части открывшегося окна нажимаем изменить.
Добавляем имя пользователя.
И сохраняем результаты редактирования.
После этого изменение прав - станет доступным.
Эти нехитрые манипуляции помогут снизить нагрузку на диск на 20-30 процентов, но это при условии, что она не связана с более серьёзными неполадками в системе или железе компьютера.
Отключить отчеты об ошибках в Windows 10
- Откройте меню «Пуск», введите services.msc и нажмите Enter или первый пункт в результатах поиска. Откроется консоль управления службами.
Не можете найти? Если меню Тип запуска недоступно, выйдите из системы и войдите в систему как администратор. Или откройте консоль управления службами с правами администратора, например, открыв командную строку с повышенными правами, а затем выполните команду services.msc.
Ещё один способ отключить отчеты об ошибках – через редактор реестра. Перейдите к разделу реестра, который вы видите ниже, и найдите значение с именем Disabled. Если он не существует, создайте новое значение DWORD с этим именем.
Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting
Дважды щелкните ключ «Disabled», чтобы изменить его значение с 0 на 1, а затем сохраните, нажав ОК .
Очистка папок службы WER
Дампы с описанием ошибок обычно небольшие, но иногда дамп памяти, который обязательно включается в файл memory.hdmp, может достигать значительных размеров, порядка многих сотен мегабайт. Если на системном диске не так много места, с десяток таких дампов могут попросту исчерпать свободное пространство, и очередному отчёту уже не будет места – вот вам и проблемы, и зависания.
Для очистки логов службы запускаем Панель управления и набираем в строке поиска текст «Просмотр всех отчетов», выбираем из списка пункт с соответствующим названием, и в новом окне жмём кнопку «Очистить все отчёты о проблемах».
Ту же операцию можно выполнить вручную, очистив две папки, WER\ReportArchive\ и WER\ReportQueue\, находящиеся в каталоге ProgramData\Microsoft\Windows\, от всего содержимого (там могут быть сотни подкаталогов).
Наконец, имеется альтернативный вариант, позволяющий удалять только старые файлы из каталогов Windows Error Reporting, причём интервал в днях, задаётся пользователем. Это команды, выполняемые через PowerShell:
Get-ChildItem -Path 'C:\ProgramData\Microsoft\Windows\WER\ReportArchive' -Recurse | Where-Object CreationTime -lt (Get-Date).AddDays(-30) | Remove-Item -force -Recurse
Get-ChildItem -Path 'C:\ProgramData\Microsoft\Windows\WER\ReportQueue' -Recurse | Where-Object CreationTime -lt (Get-Date).AddDays(-30) | Remove-Item -force –Recurse
В данном примере будут удалены все логи старше одного месяца.
Отключение вывода отчётов об ошибках через системный реестр
К сожалению, в «десятке» этот простой способ не работает. Здесь имеется возможность только проверить статус службы (вкладка «Система и безопасность», переход в пункт «Центр безопасности и обслуживания», выбор подпункта «Обслуживание»). Хотя сам параметр «Отчёта о проблемах» здесь имеется, и он находится во включённом состоянии, кнопка отключения службы здесь не предусмотрена – очевидно, намеренно, чтобы иметь возможность всегда получать отчёты об ошибках.
Для этого заходим в ветку HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting.
Кликаем по пустому месту в правом окне и создаём новый параметр (выбираем тип DWORD 32-битный), присваиваем этому параметру тип Disabled, а в поле «Значение» вбиваем 1.
Следующими командами можно отключить сбор и отправку логов об ошибках для некоторых или всех пользователей:
reg add "HKCU\Software\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t REG_DWORD /d "1" /f
reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting" /v "Disabled" /t REG_DWORD /d "1" /f
Теперь, если вы зайдёте в Панель управления для проверки статуса службы, вместо On вы увидите Off, то есть у нас получилось отключить службу, призванную решать проблемы, но иногда создающую их.
При желании этот статус можно продублировать на всех компьютерах в рамках одного домена, используя GPO.
Отключение Error Reporting в Windows 7 и 8.1
Откройте через окошко «Выполнить» ( Win + R ) Центр поддержки командой wscui.cpl апплет «Центр поддержки».
Нажмите в меню справа ссылку «Параметры центра поддержки».
На следующей странице нажмите ссылку «Параметры отчета о неполадках».
И активируйте радиокнопку «Не проверять на наличие новых решений».
Функции Windows Error Reporting
Тот факт, что служба WER может грузить компьютер, не удивителен – это достаточно сложный механизм, который должен уметь правильно реагировать на все возникающие проблемы, независимо от того, являются ли они системным сбоем или произошли во время работы пользовательских процессов.
Принцип действия службы можно описать следующим образом: когда возникает системный сбой, срабатывает специальный механизм, отлавливающий такие случаи (на техническом языке они называются необработанными исключениями). В этом случае записываются все возможные сопутствующие факторы (например, значения стека и регистров в момент возникновения исключения), после чего запускается компонента WER, занимающаяся анализом состояния аварийно завершившегося приложения. В её функции входит также и оповещение пользователя о проблеме. Обычно это процесс WerFault.exe, который запускается с полномочиями пользователя компьютера, и по настройкам по умолчанию именно он и выводит окно, сообщающее о возникновении сбоя.
Если дефолтные настройки не менялись (а такая возможность для этой службы имеется), то созданный в результате работы анализирующего модуля отчёт с включёнными в него данными об ошибке (дамп памяти и небольшой файл в формате XML, в котором содержатся некоторые подробности типа версий DLL-библиотек, используемых аварийно завершившимся процессом) отправляется на сервера Microsoft.
Отключение WER в Windows 7/8
Но очистка логов службы – это не совсем правильное решение, ведь со временем ситуация может повториться. Проще отключить службу, ведь толку от неё мало. Делается это следующим образом:
Точно таким же образом, используя Панель управления, можно отключить службу WER в серверных версиях Windows (2019/2016/2012R2).
Отключите отчеты об ошибках в Windows 8 или Windows 7
Есть также возможность выбор программ для исключения из отчетов, которую вы можете использовать, если вы предпочитаете настраивать отчетность вместо того, чтобы полностью отключать её.
Если вы не можете изменить эти настройки, потому что они неактивны, выберите ссылку внизу окна с надписью Изменить настройки отчета для всех пользователей.
В общем виде задачу о производительности можно представить в виде трех частей: сбор данных, анализ полученных данных и создание черного ящика для упреждающего мониторинга проблемной системы.
Начнем со всем давно известного Performance Monitor. Это стандартная утилита, которая входит во все современные редакции Windows. Вызывается либо из меню, либо из командной строки или строки поиска в Windows 8/10 вводом команды perfmon. После запуска утилиты мы видим стандартную панель, в которой можем добавить и удалить счетчики, изменить представление и масштабировать графики с данными.
Также есть сборщики данных, с помощью которых производится сбор данных о производительности системы. При определённых навыках и сноровке операции по добавлению счетчиков и настройке параметров сбора данных можно производить из графического интерфейса. Но когда возникает задача настройки сбора данных с нескольких серверов, разумнее использовать утилиты командой строки. Вот этими утилитами мы и займемся.
Первая утилита — это Typeperf, которая может выводить данные со счетчиков производительности на экран или в файл, а также позволяет получить список счетчиков, установленных в системе. Примеры использования.
Выводит на экран загрузку процессора с интервалом 1 сек.:
Выводит в файл названия счётчиков производительности, связанные с объектом PhysicalDisk:
В нашем случае мы можем использовать утилиту Typeperf, чтобы создать файл с нужными нам счетчиками, который в дальнейшем будем использовать как шаблон для импорта счетчиков в сборщик данных.
Следующая утилита – Logman. Данная утилита позволяет создавать, изменять и управлять различными сборщиками данных. Мы будем создавать сборщик данных для счетчиков производительности. Вот, например, краткая справка по команде Logman, которая относится к счетчикам производительности и управлению сборщиком данных.
Разберем несколько примеров, которые нам понадобятся в дальнейшем.
Создадим сборщик данных с именем DataCollector_test, импортировав счетчики производительности из файла test.xml:
Создание файла для сбора данных производительности с включённым циркулярным режимом и заданным размером:
Изменение пути файла с данными производительности по умолчанию:
Запуск коллектора данных DataCollector_test:
Остановка коллектора данных DataCollector_test:
Отметим, что все эти действия можно производить с удаленным компьютером.
Рассмотрим еще одну утилиту — Relog, которая позволяет производить манипуляции с файлом данных после работы сборщика данных. Вот ее описание:
Ниже несколько сценариев применения этой утилиты.
Извлечение данных счетчиков производительности из файла logfile.blg с применением фильтра со списком счетчиков counters.txt и записью результата в бинарный формат:
Извлечение списка счетчиков производительности из logfile.blg в текстовый файл counters.txt:
Напрямую работать с этой утилитой мы не будем, но информация о ней в дальнейшем поможет в случае возникновения проблем в файле PowerShell, который генерирует утилита PAL.
Отметим еще один момент, некоторые системы анализа требуют данные с наименованиями счетчиков производительности на английском языке. Если интерфейс нашей системы на русском языке, то нам необходимо проделать следующие манипуляции: завести локального пользователя, дать ему права на сбор данных (обычно дают права локального администратора), войти в систему под ним и в свойствах системы изменить язык интерфейса.
Обязательно выйти из системы и зайти во второй раз под этим пользователем для инициализации английского интерфейса и выйти из системы. Далее указать в сборщике данных, что сбор данных будет производиться от имени этого пользователя.
После этого имена счетчиков и файлов будут на английском языке.
Также отметим возможность сбора данных для SQL Server с помощью утилиты из состава продукта. Это SQLDIAG, которая обрабатывает журналы производительности Windows, журналы событий Windows, трассировки SQL Server Profiler, сведения о блокировках SQL Server и сведения о конфигурации SQL Server. Указать, какие типы сведений нужно собирать с помощью программы SQLdiag, можно в файле конфигурации SQLDiag.xml.
Вот так выглядит окно этого инструмента.
В итоге, процесс сбора данных для SQL может выглядеть так. С помощью PSSDIAG мы формируем xml-файл. Далее посылаем этот файл клиенту, который запускает SQLDIAG c нашим xml-файлом на удаленном сервере и присылает нам для анализа результат работы в виде blg-файла, который мы будем анализировать в следующей части.
Данная утилита написана Clint Huffman, который является PFE-инженером Microsoft и занимается анализом производительности систем. Также он является одним из авторов авторизованного курса Vital Sign, который читается в Microsoft и доступен для корпоративных заказчиков, в том числе в России на русском языке. Утилита распространяется свободно, ссылку на нее я приведу ниже.
Вот так выглядит стартовое окно утилиты.
На вкладке Counter Log задаётся путь к файлу данных со счетчиками производительности, собранными ранее. Также мы можем задать интервал, за который будет производиться анализ.
На вкладке Threshold File находится список шаблонов, которые можно экспортировать в формат xml и использовать как список счетчиков для сборщика данных. Обратите внимание на большой выбор шаблонов для анализа производительности для различных систем. Пример загрузки из командной строки был показан выше. Самое ценное, что в этих заранее подготовленных шаблонах установлены граничные значения для этих параметров, которые будут использованы в дальнейшем для анализа собранных данных.
Вот так, например, выглядят граничные значения для счётчиков дисковой производительности:
Мы можем создавать свои шаблоны с использованием нужных счетчиков, которые будут подстроены под нужды нашей организации.
Действуем по следующему алгоритму: на рабочей станции запускаем утилиту PAL, переходим на вкладку Threshold File и экспортируем шаблон в виде xml-файла. На основании этого файла на сервере создаем сборщик данных и запускаем сборку информации.
После сбора данных копируем полученный файл на рабочую станцию, чтобы анализом не нагружать сервер, возвращаемся на вкладку Counter Log, указываем путь к файлу. Снова переходим на Threshold File и выбираем тот самый шаблон, который экспортировали для сборщика данных.
Переключаемся на вкладку Question и указываем объем оперативной памяти на сервере, на котором был осуществлён сбор данных. В случае 32-битной системы заполним UserVa.
Переходим к вкладке Output Options, на которой задаем интервал разбиения для анализа. Значение по умолчанию AUTO делит интервал на 30 равных частей.
Вкладка File Output выглядит довольно обычно, указываем на ней путь к файлам итоговых отчетов в формате HTML или XML.
Вкладка Queue показывает итоговый скрипт на PowerShell. В общем можно сказать, что утилита собирает параметры, которые она подставляет в скрипт PAL.PS1.
Итоговая вкладка задает параметры исполнения. Можно одновременно запустить несколько скриптов и указать число потоков на процессоре. Хотелось бы акцентировать внимание, что обработку blg делает не утилита, а скрипт PowerShell, и это открывает возможности для полной автоматизации анализа логов. Например, каждые сутки перезапускается сборщик данных, в результате освобождается текущий blg-файл и создаётся новый. Старый файл копируется на специальный сервер, где будет запускаться скрипт, обрабатывающий данный файл. После этого готовый HTML- или XML-файл с результатами перемещается в определённую директорию или высылается на почтовый ящик.
Также файл с данными должен быть с названиями счетчиков на английском. Выше я указывал, как это сделать. После нажатия Finish запустится скрипт PowerShell, время работы которого зависит от объёма данных и быстродействия рабочей станции.
Итогом работы утилиты будет отчет в выбранном формате, в котором есть графики и числовые данные, позволяющие понять, что происходило в системе за заданный период с учетом граничных значений алертов в шаблоне на вкладке Threshold File. В общем, анализ HTML-файла позволит на начальном этапе определить проблемные места в системе и понять, куда двигаться дальше, как в плане более тонкого мониторинга, так и в плане модернизации или переконфигурирования системы. В блоге Clint Huffman есть скрипт, которым можно конвертировать файл шаблона с граничными условиями в более понятный формат.
Иногда возникает необходимость в превентивном мониторинге проблемной системы. Для этого мы создадим «черный ящик», в который будем записывать данные производительности. Вернемся к скриптам, описанным ранее.
Создадим сборщик данных c именем BlackBox, импортировав счетчики производительности из файла SystemOverview.xml, который выгрузили из утилиты PAL или создали самостоятельно:
Создание файла для сбора данных производительности с включённым циркулярным режимом и заданным размером 600 МБ (около 2 суток при стандартном наборе счетчиков):
Изменение пути файла с данными производительности по умолчанию:
Запуск коллектора данных BlackBox:
Данный скрипт создает задачу перезапуска сборщика данных в случае перезапуска системы:
На всякий случай поправим свойства диспетчера данных, чтобы не заполнить место на диске, так как после перезапуска сборщика данных создается новый файл с лимитом 600 МБ.
Отметим, что скопировать файл с данными можно только при остановленном сборщике данных. Остановить же последний можно скриптом или с помощью графического интерфейса.
Остановка коллектора данных BlackBox:
На этом закончим часть, посвященную сбору и первичному анализу производительности.
В Windows 7 и 8.1 это можно сделать через графический интерфейс системы, если же вы хотите отключить Windows Error Reporting в Windows 10, нужно отредактировать один ключ в реестре или изменить значение соответствующей ему политики в редакторе gpedit.msc . Существует и универсальный способ, одинаково подходящий для всех версий Windows, но о нём будет сказано ниже.
Читайте также: