How to Generate a Windows 10 System Diagnostics Report
As part of our ongoing series of articles on using the Performance Monitor tool, today we’ll take a look at generating a system health report. Previously, we showed you how to create a System Performance report which gives you a summary of system processes and hardware components. But a System Diagnostics report provides a more comprehensive look at hardware, software configurations (including the OS), system response times, and much more. Basically, a System Diagnostic test gives you a lot more information on all aspects of your system.
Generate a Windows 10 System Diagnostic Report
Note that you need to be logged in as Administrator to run the report (which can also be generated on Windows 7). Hit Windows Key + R on your keyboard to launch the Run dialog box and type: perfmon /report and hit Enter or click OK. You can run that same command from the Command Prompt (Admin) to generate the report, too.
The Resource and Performance Monitor will come up and you’ll see the diagnostic test running – it takes a full minute to complete.
When it finishes, in addition to an overall system health summary, you’ll see individual results listed by various components. It provides data on components like the CPU, Network, Memory as well as the diagnostics of software configurations.
Just expand each category to get the detailed results of what’s working or not working. There is a lot of data and if you’re having problems deciphering everything, you might want to send it to your IT staff or the techie in your life. Go to File > Save As to save it as an HTML file that you can send off.
In my experience, I’ve found the reports to render best in IE or Edge but any browser should work fine.
If you’re troubleshooting a specific issue with your PC or just want to do preventive maintenance, running a diagnostic report is a good place to start. It gives you more information about your system that you would ever need. But it’s always good to have too much information than not enough.
Run a diagnostic test on your Windows PC and let us know how things are looking. Or, form more discussions and troubleshooting advice, check out our Windows 10 Forums.
System. Diagnostics Пространство имен
Предоставляет классы, позволяющие осуществлять взаимодействие с системными процессами, журналами событий и счетчиками производительности. Provides classes that allow you to interact with system processes, event logs, and performance counters.
Классы
Представляет операцию с контекстом, который необходимо использовать для записи в журнал. Represents an operation with context to be used for logging.
Позволяет прослушивать события действий запуска и остановки и принимать решения о создании действия для сценариев выборки. Allows listening to the start and stop activity events and gives the opportunity to decide creating an activity for sampling scenarios.
Предоставляет API-интерфейсы для создания и запуска объектов Activity и регистрации объектов ActivityListener для прослушивания событий Activity. Provides APIs to create and start Activity objects and to register ActivityListener objects to listen to the Activity events.
ActivityTagsCollection — это класс коллекции, используемый для хранения тегов трассировки. ActivityTagsCollection is a collection class used to store tracing tags.
Эта коллекция будет использоваться с такими классами, как ActivityEvent и ActivityLink. This collection will be used with classes like ActivityEvent and ActivityLink.
Эта коллекция ведет себя следующим образом: — Элементы коллекции будут упорядочены в соответствии с порядком их добавления. This collection behaves as follows: — The collection items will be ordered according to how they are added. — Запретите дублирование элементов с одним ключом. — Don’t allow duplication of items with the same key. — При использовании индексатора для хранения элемента в коллекции: — Если элемент содержит ключ, который ранее существовал в коллекции, и значение равно null , элемент коллекции, соответствующий ключу, будет удален из коллекции. — When using the indexer to store an item in the collection: — If the item has a key that previously existed in the collection and the value is null , the collection item matching the key will be removed from the collection. — Если элемент содержит ключ, который ранее существовал в коллекции, и значение не равно null , новое значение элемента заменит старое значение, хранимое в коллекции. — If the item has a key that previously existed in the collection and the value is not null , the new item value will replace the old value stored in the collection. — В противном случае элемент будет добавлен в коллекцию. — Otherwise, the item will be added to the collection. — Метод добавления добавит в коллекцию новый элемент, если элемент с таким же ключом еще не существует. — Add method will add a new item to the collection if an item doesn’t already exist with the same key. В противном случае будет вызвано исключение. Otherwise, it will throw an exception.
Предоставляет простой выключатель, управляющий результатами отладки и трассировки. Provides a simple on/off switch that controls debugging and tracing output.
Указывает компиляторам, что вызов метода или атрибут следует игнорировать, если не определен заданный символ условной компиляции. Indicates to compilers that a method call or attribute should be ignored unless a specified conditional compilation symbol is defined.
Направляет вывод отладки и трассировки в стандартный поток вывода или стандартный поток сообщений об ошибках. Directs tracing or debugging output to either the standard output or the standard error stream.
Устанавливает корреляцию между трассировками, являющимися частью логической транзакции. Correlates traces that are part of a logical transaction.
Определяет тип настраиваемого счетчика, его имя и строку справки. Defines the counter type, name, and Help string for a custom counter.
Предоставляет строго типизированную коллекцию объектов CounterCreationData. Provides a strongly typed collection of CounterCreationData objects.
Содержит набор служебных функций для обработки данных счетчика производительности. Provides a set of utility functions for interpreting performance counter data.
Предоставляет данные для событий OutputDataReceived и ErrorDataReceived . Provides data for the OutputDataReceived and ErrorDataReceived events.
Предоставляет набор методов и свойств, помогающих при отладке кода. Provides a set of methods and properties that help debug your code.
Изменяет генерацию кода для JIT-отладки во время выполнения. Modifies code generation for runtime just-in-time (JIT) debugging. Этот класс не наследуется. This class cannot be inherited.
Разрешает взаимодействие с отладчиком. Enables communication with a debugger. Этот класс не наследуется. This class cannot be inherited.
Определяет наличие и способ отображения членов в окнах переменных отладчика. Determines if and how a member is displayed in the debugger variable windows. Этот класс не наследуется. This class cannot be inherited.
Определяет, как класс или поле отображается в окнах переменных отладчика. Determines how a class or field is displayed in the debugger variable windows.
Задает DebuggerHiddenAttribute. Specifies the DebuggerHiddenAttribute. Этот класс не наследуется. This class cannot be inherited.
Определяет тип или член, который не является частью пользовательского кода для приложения. Identifies a type or member that is not part of the user code for an application.
Указывает код, следующий за атрибутом, который должен выполняться в режиме выполнения, а не в пошаговом режиме. Indicates the code following the attribute is to be executed in run, not step, mode.
Отдает отладчику указание о сквозной обработке кода (вместо обработки изнутри). Instructs the debugger to step through the code instead of stepping into the code. Этот класс не наследуется. This class cannot be inherited.
Указывает прокси-тип отображения для типа. Specifies the display proxy for a type.
Указывает, что у типа есть визуализатор. Specifies that the type has a visualizer. Этот класс не наследуется. This class cannot be inherited.
Предоставляет методы вывода по умолчанию и поведение для трассировки. Provides the default output methods and behavior for tracing.
Направляет выходные данные трассировки или отладки в модуль записи текста, такой как модуль записи в поток или в поток, такой как файловый поток. Directs tracing or debugging output to a text writer, such as a stream writer, or to a stream, such as a file stream.
Предоставляет реализацию абстрактного класса DiagnosticSource, которые представляет именованное место, куда источник отправляет данные (события). Provides an implementation of the abstract DiagnosticSource class that represents a named place to which a source sends its information (events).
Обрабатывает раздел диагностики файла конфигурации. Handles the diagnostics section of configuration files.
Абстрактный класс, позволяющий инструментировать код для ведения журнала расширенных полезных данных во время производства, которые будут использоваться в инструментированном процессе. An abstract class that allows code to be instrumented for production-time logging of rich data payloads for consumption within the process that was instrumented.
Предоставляет данные для события EntryWritten. Provides data for the EntryWritten event.
Представляет не зависящие от языка сведения для записи журнала событий. Represents language-neutral information for an event log entry.
Обеспечивает взаимодействие с журналами событий Windows. Provides interaction with Windows event logs.
Инкапсулирует единичную запись в журнале событий. Encapsulates a single record in the event log. Этот класс не наследуется. This class cannot be inherited.
Определяет размер и перечислители для коллекции экземпляров EventLogEntry. Defines size and enumerators for a collection of EventLogEntry instances.
Позволяет устанавливать и настраивать журнал событий, используемый для считывания и записи данных при запуске приложения. Allows you to install and configure an event log that your application reads from or writes to when running.
Управляет разрешениями на доступ к коду для записи событий в журнал. Controls code access permissions for event logging.
Позволяет производить декларативные проверки разрешений для ведения журнала событий. Allows declarative permission checks for event logging.
Определяет наименьшую единицу разрешения на управление доступом для кода, заданную для объекта EventLog. Defines the smallest unit of a code access security permission that is set for an EventLog.
Содержит строго типизированную коллекцию объектов EventLogPermissionEntry. Contains a strongly typed collection of EventLogPermissionEntry objects.
Предоставляет простой прослушиватель, который направляет вывод отладки или трассировки в журнал EventLog. Provides a simple listener that directs tracing or debugging output to an EventLog.
Направляет результаты трассировки или отладки сквозных событий в совместимый со схемой файл журнала в XML-представлении. Directs tracing or debugging output of end-to-end events to an XML-encoded, schema-compliant log file.
Представляет параметры конфигурации, использованные для создания источника журнала на локальном или удаленном компьютере. Represents the configuration settings used to create an event log source on the local computer or a remote computer.
Определяет по типу события, должен ли прослушиватель осуществлять трассировку. Indicates whether a listener should trace based on the event type.
Содержит сведения о версии физического файла на диске. Provides version information for a physical file on disk.
Содержит данные экземпляра, связанные с образцом счетчика производительности. Holds instance data associated with a performance counter sample.
Предоставляет строго типизированную коллекцию объектов InstanceData. Provides a strongly typed collection of InstanceData objects.
Предоставляет строго типизированную коллекцию объектов InstanceDataCollection. Provides a strongly typed collection of InstanceDataCollection objects.
Задает описание для свойства или события. Specifies a description for a property or event.
Представляет компонент счетчика производительности Windows NT. Represents a Windows NT performance counter component.
Представляет объект производительности, который определяет категорию счетчиков производительности. Represents a performance object, which defines a category of performance counters.
Задает установщик для компонента PerformanceCounter . Specifies an installer for the PerformanceCounter component.
Подготавливает данные о производительности для библиотеки performance.dll, которая загружается системой при работе со счетчиками производительности. Prepares performance data for the performance.dll the system loads when working with performance counters.
Позволяет контролировать разрешения на доступ к коду для счетчика PerformanceCounter. Allows control of code access permissions for PerformanceCounter.
Позволяет проводить декларативные проверки разрешения счетчика производительности. Allows declarative performance counter permission checks.
Определяет наименьшую единицу разрешения системы управления доступом для кода, заданного для объекта PerformanceCounter. Defines the smallest unit of a code access security permission that is set for a PerformanceCounter.
Содержит строго типизированную коллекцию объектов PerformanceCounterPermissionEntry. Contains a strongly typed collection of PerformanceCounterPermissionEntry objects.
Обеспечивает поддержку трассировки отладки, специально предназначенной для приложений Windows Presentation Foundation (WPF). Provides debug tracing support that is specifically targeted for Windows Presentation Foundation (WPF) applications.
Предоставляет доступ к локальным и удаленным процессам и позволяет запускать и останавливать локальные системные процессы. Provides access to local and remote processes and enables you to start and stop local system processes.
Представляет DLL- или EXE-файл, который загружается в определенный процесс. Represents a.dll or .exe file that is loaded into a particular process.
Предоставляет строго типизированную коллекцию объектов ProcessModule. Provides a strongly typed collection of ProcessModule objects.
Задает набор значений, используемых при запуске процесса. Specifies a set of values that are used when you start a process.
Представляет поток процесса операционной системы. Represents an operating system process thread.
Предоставляет строго типизированную коллекцию объектов ProcessThread. Provides a strongly typed collection of ProcessThread objects.
Указывает, должны ли прослушиватели осуществлять трассировку сообщений на основе источника трассировки. Indicates whether a listener should trace a message based on the source of a trace.
Предоставляет многоуровневый переключатель для управления выводом трассировки и отладки без повторной компиляции кода. Provides a multilevel switch to control tracing and debug output without recompiling your code.
Предоставляет сведения об объекте StackFrame, который представляет вызов функции в стеке вызовов для текущего потока. Provides information about a StackFrame, which represents a function call on the call stack for the current thread.
Предоставляет методы расширения для класса StackFrame, который представляет вызов функции в стеке вызовов для текущего потока. Provides extension methods for the StackFrame class, which represents a function call on the call stack for the current thread.
Представляет трассировку стека — упорядоченный набор из одного или нескольких кадров стека. Represents a stack trace, which is an ordered collection of one or more stack frames.
Предоставляет набор методов и свойств, которые можно использовать для точного измерения затраченного времени. Provides a set of methods and properties that you can use to accurately measure elapsed time.
Предоставляет абстрактный базовый класс для создания новых переключателей отладки и трассировки. Provides an abstract base class to create new debugging and tracing switches.
Идентифицирует переключатель, используемый в сборке, классе или члене. Identifies a switch used in an assembly, class, or member.
Идентифицирует тип уровня переключателя. Identifies the level type for a switch.
Направляет вывод отладки или трассировки в TextWriter или в Stream, например, FileStream. Directs tracing or debugging output to a TextWriter or to a Stream, such as FileStream.
Предоставляет набор методов и свойств, используемых при трассировке выполнения кода. Provides a set of methods and properties that help you trace the execution of your code. Этот класс не наследуется. This class cannot be inherited.
Предоставляет данные событий трассировки специфичные для потока и процесса. Provides trace event data specific to a thread and a process.
Представляет базовый класс для реализаций фильтров трассировки. Provides the base class for trace filter implementations.
Предоставляет abstract базовый класс для прослушивателей, осуществляющих мониторинг вывода трассировочной и отладочной информации. Provides the abstract base class for the listeners who monitor trace and debug output.
Предоставляет потокобезопасный список объектов TraceListener. Provides a thread-safe list of TraceListener objects.
Предоставляет набор методов и свойств, которые позволяют приложениям делать трассировку выполнения кода и связывать сообщения трассировки с их источником. Provides a set of methods and properties that enable applications to trace the execution of code and associate trace messages with their source.
Предоставляет многоуровневый переключатель для управления выводом трассировки и отладки без повторной компиляции кода. Provides a multilevel switch to control tracing and debug output without recompiling your code.
Предоставляет не являющиеся escape-последовательностью XML-данные для внесения в журнал предоставленных пользователем данных трассировки. Provides unescaped XML data for the logging of user-provided trace data.
Направляет выходные данные отладки или трассировки в виде закодированных XML-данных в TextWriter или в Stream, например, FileStream. Directs tracing or debugging output as XML-encoded data to a TextWriter or to a Stream, such as a FileStream.
Структуры
Представление, соответствующее спецификации W3C TraceContext. A representation that conforms to the W3C TraceContext specification. Оно содержит два идентификатора, TraceId и SpanId, а также набор стандартных флагов трассировки и значений TraceState, относящихся к системе. It contains two identifiers: a TraceId and a SpanId, along with a set of common TraceFlags and system-specific TraceState values.
Инкапсулирует всю информацию, отправленную в прослушиватель действия, для принятия решений о создании экземпляра действия, а также его состоянии. Encapsulates all the information that is sent to the activity listener, to make decisions about the creation of the activity instance, as well as its state.
Возможные параметры универсального типа: ActivityContext и String. The possible generic type parameters are ActivityContext or String.
Представляет событие, которое содержит имя и метку времени, а также необязательный список тегов. Represents an event containing a name and a timestamp, as well as an optional list of tags.
Действия могут быть не связаны с экземплярами контекста действия, которые связаны причинно-следственной связью, или связаны с несколькими из них. Activities may be linked to zero or more activity context instances that are causally related.
Ссылки на действия могут указывать на контексты действий в одной или разных трассировках. Activity links can point to activity contexts inside a single trace or across different traces.
Ссылки на действия можно использовать для представления пакетных операций, в которых действие инициировано несколькими инициирующими действиями, каждое из которых представляет один входящий элемент, обрабатываемый в пакете. Activity links can be used to represent batched operations where an activity was initiated by multiple initiating activities, each representing a single incoming item being processed in the batch.
Представляет идентификатор SpanId, формат которого соответствует стандарту консорциума W3C. Represents a SpanId formatted based on a W3C standard.
Перечисляет элементы ActivityTagsCollection . Enumerates the elements of an ActivityTagsCollection .
Представляет идентификатор TraceId, формат которого соответствует стандарту консорциума W3C. Represents a TraceId whose format is based on a W3C standard.
Определяет структуру, содержащую необработанные данные для счетчика производительности. Defines a structure that holds the raw data for a performance counter.
Интерфейсы
Подготавливает данные о производительности для библиотеки производительности DLL, которая загружается системой при работе со счетчиками производительности. Prepares performance data for the performance DLL the system loads when working with performance counters.
Перечисления
Задает формат свойства Id. Specifies the format of the Id property.
Описывает связь между действием, а также его родительскими и дочерними элементами в трассировке. Describes the relationship between the activity, its parents and its children in a trace.
Значения перечисления, используемые ActivityListener для указания объема данных, который требуется собрать для связанного Activity. Запрос дополнительного объема данных приведет к снижению производительности. Requesting more data causes a greater performance overhead.
Указывает связанные с действием флаги, определяемые стандартом W3C. Specifies flags defined by the W3C standard that are associated with an activity.
Задает режим отладки для JIT-компилятора. Specifies the debugging mode for the just-in-time (JIT) compiler.
Предоставляет инструкции по отображению для отладчика. Provides display instructions for the debugger.
Указывает тип события в записи журнала событий. Specifies the event type of an event log entry.
Определяет уровни доступа, используемые классами разрешений EventLog. Defines access levels used by EventLog permission classes.
Задает способ обработки записей в журнале событий, размер файла которого достиг максимально допустимой величины. Specifies how to handle entries in an event log that has reached its maximum file size.
Указывает, может ли категория счетчиков производительности иметь несколько экземпляров. Indicates whether the performance counter category can have multiple instances.
Задает время существования экземпляра счетчика производительности. Specifies the lifetime of a performance counter instance.
Определяет уровни доступа, используемые классами разрешений PerformanceCounter. Defines access levels used by PerformanceCounter permission classes.
Позволяет указать типы счетчиков производительности, которые напрямую сопоставляются с собственными типами. Specifies performance counter types that map directly to native types.
Описывает уровень детализации для трассировки конкретного объекта. Describes the level of detail to trace about a particular object.
Указывает приоритет, который система связывает с процессом. Indicates the priority that the system associates with a process. Это значение вместе со значением приоритета каждого потока процесса определяет базовый уровень приоритета каждого потока. This value, together with the priority value of each thread of the process, determines each thread’s base priority level.
Указано, каким образом должно выглядеть новое окно при запуске процесса системой. Specified how a new window should appear when the system starts a process.
Задает уровни сообщений трассировки, фильтруемых переключателем источника и фильтром типов событий. Specifies the levels of trace messages filtered by the source switch and event type filter.
Задает уровень приоритета потока. Specifies the priority level of a thread.
Задает текущее состояние выполнения потока. Specifies the current execution state of the thread.
Указывает причину, по которой поток находится в состоянии ожидания. Specifies the reason a thread is waiting.
Идентифицирует тип события, ставшего причиной трассировки. Identifies the type of event that has caused the trace.
Указывает, какие сообщения должны выводиться для классов Debug, Trace и TraceSwitch. Specifies what messages to output for the Debug, Trace and TraceSwitch classes.
Задает структуру файла, которая будет использоваться для журнала EventSchemaTraceListener. Specifies the file structure that will be used for the EventSchemaTraceListener log.
Задает параметры данных трассировки, записываемые в выходные данные трассировки. Specifies trace data options to be written to the trace output.
Делегаты
Предоставляет метод, обрабатывающий событие OutputDataReceived или событие ErrorDataReceived объекта Process. Represents the method that will handle the OutputDataReceived event or ErrorDataReceived event of a Process.
Представляет метод, обрабатывающий событие EntryWritten для EventLog. Represents the method that will handle the EntryWritten event of an EventLog.
Делегат, определяющий сигнатуру обратных вызовов ActivityListener, используемых в процессе выборки. A delegate that defines the signature of the ActivityListener callbacks used in the sampling process.
Комментарии
EventLogКомпонент предоставляет функциональные возможности для записи в журналы событий, чтения записей журнала событий, а также создания и удаления журналов событий и источников событий в сети. The EventLog component provides functionality to write to event logs, read event log entries, and create and delete event logs and event sources on the network. EntryWrittenEventHandlerПредоставляет способ асинхронного взаимодействия с журналами событий. The EntryWrittenEventHandler provides a way to interact with event logs asynchronously. Вспомогательные классы предоставляют доступ к более детальному контролю, включая ограничения разрешений, возможность указывать типы журналов событий (которые управляют типом данных по умолчанию, записываемых с записью журнала событий), а также выполнять итерацию по коллекциям записей журнала событий. Supporting classes provide access to more detailed control, including: permission restrictions, the ability to specify event log types (which controls the type of default data that is written with an event log entry), and iterate through collections of event log entries. Дополнительные сведения об этих задачах см. в EventLogPermission разделе EventLogEntryType классы, и EventLogEntryCollection . For more information about these tasks, see the EventLogPermission, EventLogEntryType, and EventLogEntryCollection classes.
ProcessКласс предоставляет функциональные возможности для мониторинга системных процессов по сети, а также для запуска и завершения процессов локальной системы. The Process class provides functionality to monitor system processes across the network, and to start and stop local system processes. Помимо получения списков запущенных процессов (с указанием компьютера, имени процесса или идентификатора процесса) или просмотра сведений о процессе, который в настоящее время имеет доступ к процессору, вы можете получить подробные сведения о потоках и модулях процесса с помощью Process самого класса, а также путем взаимодействия с ProcessThread ProcessModule классами и. In addition to retrieving lists of running processes (by specifying either the computer, the process name, or the process id) or viewing information about the process that currently has access to the processor, you can get detailed knowledge of process threads and modules both through the Process class itself, and by interacting with the ProcessThread and ProcessModule classes. ProcessStartInfoКласс позволяет указать различные элементы, с помощью которых будет запущен новый процесс, например входные данные, выходные данные и потоки ошибок, рабочие каталоги, команды и аргументы командной строки. The ProcessStartInfo class enables you to specify a variety of elements with which to start a new process, such as input, output, and error streams, working directories, and command line verbs and arguments. Они позволяют точно контролировать поведение процессов. These give you fine control over the behavior of your processes. Другие связанные классы позволяют задавать стили окон, приоритеты процессов и потоков, а также взаимодействовать с коллекциями потоков и модулей. Other related classes let you specify window styles, process and thread priorities, and interact with collections of threads and modules.
PerformanceCounterКласс позволяет отслеживать производительность системы, в то время как PerformanceCounterCategory класс предоставляет способ создания новых пользовательских счетчиков и категорий. The PerformanceCounter class enables you to monitor system performance, while the PerformanceCounterCategory class provides a way to create new custom counters and categories. Можно выполнять запись в локальные счетчики и считывать как локальные, так и удаленные счетчики (системные и настраиваемые). You can write to local custom counters and read from both local and remote counters (system as well as custom). Вы можете выполнять выборку счетчиков с помощью PerformanceCounter класса и вычислять результаты из последовательных образцов счетчиков производительности с помощью CounterSample класса. You can sample counters using the PerformanceCounter class, and calculate results from successive performance counter samples using the CounterSample class. CounterCreationDataКласс позволяет создать несколько счетчиков в категории и указать их типы. The CounterCreationData class enables you to create multiple counters in a category and specify their types. Другие классы, связанные с компонентом счетчика производительности, предоставляют доступ к коллекциям счетчиков, разрешению счетчиков и типам счетчиков. Other classes associated with the performance counter component provide access to collections of counters, counter permission, and counter types.