Почему каталог C:\ProgramData\Microsoft\Windows\WER\ReportQueue\ занимает много места на диске? Можно ли его очистить?
Служба WER ( Windows Error Reporting ) служит для сбора и отправки отладочной информации о падении системных и сторонних приложений в Windows на сервера Microsoft. По задумке Microsoft, эта информация должна анализироваться и при наличии решения, вариант исправления проблемы должен отправляется пользователю через Windows Error Reporting Response. Но по факту мало кто пользуется этим функционалом, хотя Microsoft настойчиво оставляет службу сбора ошибок WER включенной по умолчанию во всех последних версиях Windows. В большинстве случае о службе WER вспоминают, когда каталог C:\ProgramData\Microsoft\Windows\WER\ReportQueue\ начинает занимать на системном диске довольно много места (вплоть до нескольких десятков Гб), даже не смотря на то что на этом каталоге по умолчанию включена NTFS компрессия .
Служба Windows Error Reporting
Служба Windows Error Reporting представляет собой отдельный сервис Windows, который можно легко отключить командой:
Внутри каталога WER\ReportQueue\ содержится множество каталогов, с именами в формате:
- Critical_6.3.9600.18384_
_00000000_cab_3222bf78 - Critical_powershell.exe_
_cab_271e13c0 - Critical_sqlservr.exe__
_cab_b3a19651 - NonCritical_7.9.9600.18235__
_0bfcb07a - AppCrash_cmd.exe_
_bda769bf_37d3b403
Как вы видите, имя каталога содержит степень критичности события и имя конкретного exe файла, который завершился аварийно. Во всех каталогах обязательно имеется файл Report.wer , который содержит описание ошибок и несколько файлов с дополнительной информацией.
Очистка папки WER\ReportQueue в Windows
Как правило, размер каждой папки незначителен, но в некоторых случаях для проблемного процесса генерируется дамп памяти, который занимает довольно много места. На скриншоте ниже видно, что размер файла дампа memory.hdmp составляет около 610 Мб. Парочка таким дампов – и на диске исчезло несколько свободных гигибайт.
Чтобы очистить все эти ошибки и журналы штатными средствами, откройте панель управления и перейдите в раздел ControlPanel -> System and Security -> Action Center -> Maintenance -> View reliability history -> View all problem reports и нажмите на кнопку Clear all problem reports .
Для быстрого освобождения места на диске от файлов отладки, сгенерированных службой WER, содержимое следующих каталогов можно безболезненно удалить и руками.
Отключение Window Error Reporting в Windows Server 2012 R2 / 2008 R2
Отключить запись информации об ошибках Windows Error Reporting в серверных редакция Windows можно следующим образом:
Windows Server 2012 / R2 – Панель Управления -> System and Security -> Action Center -> раздел Maintenance -> Settings -> выберите опцию I don’t want to participate, and don’t ask me again
Windows Server 2008 R2 – откройте консоль Server Manager и промотайте список, перейдя в раздел Resources and Support. Нажмите на Turn Off Windows Error Reporting и выберите пункт I don’t want to participate, and don’t ask me again.
Отключение функции сбора и отправки отчетов в Windows 10
В Windows 10 возможность отключить Error Reporting через GUI отсутствует. Проверить статус компонента можно в панели управления Система и безопасность -> Центр безопасности и обслуживания -> секция Обслуживание . Как вы видите, по умолчанию параметр Поиск решения для указанных в отчетах проблем включен (Control Panel -> System and Security -> Security and Maintenance -> Maintenance -> Check for solutions to problem reports).
Отключить Windows Error Reporting в Windows 10 можно через реестр. Для этого в ветке HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting нужно создать новый параметр типа DWORD (32 бита) с именем Disabled и значением 1 .
Теперь еще раз проверим статус параметра Поиск решения для указанных в отчетах проблем в панели управления. Его статус должен изменится на Отключено.
Отключение Windows Error Reporting через групповые политики
Ведение журналов службой Windows Error Reporting можно отключить и через групповую политику. Она находится в разделе Computer Configuration/Administrative Templates/Windows Components/Windows Error Reporting (Компоненты Windows -> Отчеты об ошибках Windows). Для отключения сбора и отправки данных включите политику Disable Windows Error Reporting (Отключить отчеты об ошибках Windows).
В результате сообщения об ошибках приложений в Windows перестанут формироваться и автоматически отправляться в Microsoft.
Система Windows Error Reporting
Система отчета об ошибках Windows Error Reporting (WER) является сложным механизмом, автоматизирующим представление сбоев процессов пользовательского режима и режима системных сбоев.
Windows Error Reporting может быть настроена путем перехода в Панель управления (Control Panel) и выбора Центр поддержки (Action Center) -> Настройка центра поддержки (Change Action Center) -> Параметры отчета о неполадках (Problem Reporting Settings).
Когда фильтр необработанных исключений, упомянутый в предыдущем разделе, отлавливает такое исключение, он создает контекстную информацию (например, текущее значение регистров и стека) и открывает подключение ALPC-порта к WER-службе. Эта служба приступает к анализу состояния аварийной программы и выполняет соответствующие действия по уведомлению пользователя. Во многих случаях это означает запуск программы WerFault.exe, которая выполняется с полномочиями текущего пользователя, и пока система не настроена на обратное, выводит окно сообщения, информирующее пользователя об аварии. На системах с установленным отладчиком показаны дополнительные возможности по отладке показанного процесса, что можно увидеть на рисунке.
При щелчке на пункте отладки (Debug) будет запущен отладчик (зарегистрированный в строке Debugger, рассмотренном ранее параметре AeDebug), чтобы подключиться к аварийному процессу.
Диалоговое окно Windows Error Reporting.
На системах с исходными настройками отчет об ошибке (мини-дамп и XML-файл с различными подробностями, например, с номерами версий DLL-библиотек, загруженных в процессе) отправляется на интернет-сервер Microsoft, занимающийся анализом аварийных ситуаций. Затем, когда служба уведомляется о решении для проблемы, она выводит подсказку, информирующую пользователя о его действиях, которые нужно выполнить для решения проблемы.
Входящее сообщение будет также отображено в Центре поддержки. Кроме того, в Мониторе стабильности системы (ReliabilityMonitor) будут также показаны все экземпляры аварий приложений и системы.
ПРИМЕЧАНИЕ. WER будет активно (визуально) информировать пользователя аварийного приложения только в том случае, когда приложение имеет как минимум одно видимое интерактивное окно. В противном случае авария будет занесена в журнал, но пользователю придется вручную зайти в Центр поддержки для просмотра соответствующей записи. Такое поведение призвано избавить пользователя от путаницы, не выводя диалогового окна WER, относящегося к невидимым аварийным процессам, о которых пользователь может не знать, например, о службе, выполняемой в фоновом режиме.
В окружениях, где системы не подключены к Интернету или где администратор хочет контролировать, какие именно отчеты об ошибках будут представлены Microsoft, место назначения отчета об ошибках может быть настроено на внутренний файловый сервер. Средство MicrosoftSystemCenterDesktopErrorMonitoringпонимает структуру каталогов, созданных WindowsErrorReporting, и предоставляет администратору возможность получить избирательные отчеты об ошибках и отправить их компании Microsoft.
Если все рассмотренные операции должны были произойти в контексте сбойного потока, то есть как часть изначально установленного фильтра необработанных исключений, то иногда для слишком поврежденного потока может не получиться выполнить все эти довольно сложные шаги, и сбой может возникнуть в самом фильтре необработанных исключений. Такую «тихую смерть процесса» нельзя будет зарегистрировать, что затруднит отладку, а также выразится в невидимых сбоях в тех случаях, когда на машине не будет ни одного пользователя.
Чтобы избежать подобных проблем, если сбой произошел в самом фильтре необработанных исключений, имеющийся в Windows механизм WER выполняет эту работу вне аварийного потока, что позволяет зарегистрировать любую аварию процесса или потока и уведомить о ней пользователя.
WER содержит множество настраиваемых параметров, к которым пользователь может получить доступ через редактор групповой политики (Group Policy) или внося изменения в реестр вручную. В таблице представлен список вариантов настройки WER в реестре, показано их использование и возможные значения.
Эти значения находятся в подразделе HKLM\SOFTWARE\Microsoft\Windows\ Windows Error Reporting для настроек компьютера и в аналогичном пути в разделе HKEY_CURRENT_USER для настройки для каждого пользователя.
Настройки WER в реестре.
Настройка | Смысл | Значение |
---|---|---|
ConfigureArchive | Содержание архивных данных | 1 — для параметров, 2 — для всех данных |
Consent\DefaultConsent | Какие данные должны требовать согласия | 1— для любых данных, 2 — только для параметров, 3 — для параметров и безопасных данных, 4 — для всех данных. |
Consent\DefaultOverrideBehavior | Должен ли DefaultConsent замещать значения согласия дополнительного модуля WER | 1 — для разрешения замещения |
Consent\PluginName | Значение согласия для конкретного дополнительного модуля WER | То же самое, что и для DefaultConsent |
CorporateWERDirectory | Каталог для общего хранилища WER | Строка, содержащая путь |
CorporateWERPortNumber | Порт, используемый для общего хранилища WER | Номер порта |
CorporateWERServer | Имя, используемое для общего хранилища WER | Строка, содержащая имя |
CorporateWERUseAuthentication | Использование для общего хранилища WER встроенной аутентификации Windows (Windows Integrated Authentication) | 1— для разрешения встроенной аутентификации |
CorporateWERUseSSL | Использование для общего хранилища WER протокола защищенных сокетов (SSL) | 1 — для разрешения SSL |
DebugApplications | Список приложений, требующих от пользователя выбора между отладкой (Debug) и продолжением (Continue) | 1— для предоставления пользователю возможности выбора |
DisableArchive | Включен ли архив | 1 — для выключения архива |
Disabled | Выключена ли служба WER | 1 — для выключения WER |
DisableQueue | Определение необходимости постановки отчетов в очередь | 1 — для выключения очереди |
DontShowUI | Выключение или включение WER UI | 1 — для выключения UI |
DontSendAdditionalData | Предотвращение отправки дополнительных данных об аварии | 1 — не отправлять |
ExcludedApplications\AppName | Список приложений, исключенных из WER | Строка, содержащая список приложений |
ForceQueue | Нужно ли отчеты отправлять в очередь пользователя | 1 — для отправки отчетов в очередь |
LocalDumps\DumpFolder | Путь, который нужно использовать для хранения дапм-файлов | Строка, содержащая путь |
LocalDumps\DumpCount | Максимальное количество дапм-файлов в пути | Счетчик |
LocalDumps\DumpType | Тип дампа, генерируемого при аварии | 0 — для специального дампа, 1 — для мини-дампа, 2 — для полного дампа |
LocalDumps\CustomDumpFlags | Для специальных дампов, указывает их специализацию | Значения, определенные в MINIDUMP_TYPE |
LoggingDisabled | Включение или выключение ведения журнала | 1 — для выключения ведения журнала |
MaxArchiveCount | Максимальный размер архива (в файлах) | Значение в диапазоне 1–5000 |
MaxQueueCount | Максимальный размер очереди | Значение в диапазоне 1–500 |
QueuePesterInterval | Дни между запросами, чтобы пользователь мог проверить решения | Количество дней |
ПРИМЕЧАНИЕ. Значения, перечисленные в параметре LocalDumps, могут также быть настроены для каждого приложения путем добавления имени приложения в пути подраздела между LocalDumps и соответствующим значением. Но они не могут быть настроены для каждого пользователя, поскольку существуют только в пути HKLM.
Как уже говорилось, для связи с аварийными процессами служба WER использует ALPC-порт. Этот механизм использует общесистемный порт ошибки, который служба WER регистрирует через функцию NtSetInformationProcess (использующую DbgkRegisterErrorPort). В результате все процессы Windows теперь имеют порт ошибки, который на самом деле является объектом ALPC-порта, зарегистрированным службой WER. Ядро, которое уведомляется об исключении в первую очередь, использует этот порт для отправки сообщения службе WER, которая затем анализирует аварийный процесс.
Как активировать функцию Windows Error Reporting в Windows 8.
Всякий раз, когда система падает, используя дамп файла . DMP, мы можем легко проанализировать,что вызвало падение системы.Это особенно полезно, чтобы найти проблему в сторонних модулей и является причиной этой проблемы или нет. Таким образом, используя анализ дампа,могут быть решены ошибки и сбои.Функция Windows Error Reporting (WER) ,была введена в Windows Vista,и работает для сбора пользовательского режима сбора ошибок.
Но эта услуга не включена по умолчанию в ОС Windows 8 и трюк с реестром может заставить работать эту функцию, чтобы привести её в действие.
Активировать Windows Error Reporting Service
В этой статье я покажу вам, как включить эту службу отчета об ошибках Windows с тем, что бы Вы могли легко собрать дамп файла в папке внутри Проводника. Обратите внимание и на то, что в том числе и приложения, которые делают свои собственные пользовательские отчеты об аварии . NET приложений, которые не поддерживаются этой функцией.
Использование редактора реестра для сбора User Mode
Так как функция отчёт об ошибках Windows не включена по умолчанию, вы можете использовать следующий трюк параметра реестра , чтобы запустить его:
1.Нажмите комбинацию клавиш Windows Key+R,в диалоговом окне в Run введите тип Regedt32.exe и нажмите Enter,чтобы открыть Редактор реестра .
. 2 Перейдите к этой записи :
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ Windows Error Reporting \ LocalDumps
3.На правой панели, вы можете создавать различные значения данных для настройки WER. Вот различные данные, которые вы можете создавать здесь:
. DumpFolder — (Создание: с помощью правой кнопкой мыши -> New -> Расширяемый строковый параметр)
Эта строка значения обрабатывает место для сбора данных о сбоях системы в папке. Вы можете дважды щелкнуть над созданной строкой для изменения её значения данных. Данные по умолчанию должны быть LOCALAPPDATA%% \ CrashDumps . Чтобы найти файлы, хранящие отчёт после аварии, нажмите Windows Key + R ,введите тип % LOCALAPPDATA% \ CrashDumps и получите дамп файлов.
б. DumpCount — <Создание: с помощью правой кнопкой мыши -> New -> DWORD (32 бита) >
Созданный DWORD заботится о том, сколько файлов дампа должны храниться по месту нахождения созданного ранее в шаге 1. По умолчанию это число равно 10 . Поскольку количество файлов превышает 10 , наиболее старые файлы будут удалены, а новые файлы получат своё место.
C. DumpType — <Создание: с помощью правой кнопкой мыши -> New -> DWORD (32 бита)>
Этот DWORD может быть настроен, чтобы получить файл дампа в качестве пользовательского отчёта;мини отчёта;полного дампа по вашему требованию.Используйте соответственно Value Data 0 , 1 , 2.Таким образом, в этом случае вы можете хранить файлы дампа для сбоев системы. Если вы ищете для хранения файлов дампа для конкретного применения,то вам необходимо создать подраздел для ключа LocalDumps :
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ Windows Error Reporting \ LocalDumps
Например, если вы хотите хранить файлы дампа для ImageReady , компонентов Adobe Photoshop,вы можете назвать подраздел как ImageReady.exe . Подразделы могут быть расположены как:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ Windows Error Reporting \ LocalDumps \ ImageReady.exe.
То вы можете выполнять шаг 3 для настройки,и ввести нужный вам тип данных,которые будут храниться в этом подразделе.Пожалуйста, обратите внимание,что параметры подраздела т.е. ImageReady.exe отменяют настройки основных ключей т.е. LocalDumps.
[share-locker locker_id=»3f8a01b2edcbb8f0f» theme=»blue» message=»Если Вам понравилась эта статья,нажмите на одну из кнопок ниже.СПАСИБО!» facebook=»true» likeurl=»CURRENT» vk=»true» vkurl=»CURRENT» google=»true» googleurl=»CURRENT» tweet=»true» tweettext=»» tweeturl=»CURRENT» follow=»true» linkedin=»true» linkedinurl=»CURRENT» ][/share-locker]