Введение
Наборы ресурсов Windows NT и Windows 2000 поставляются с рядом средств командной строки, которые помогают администрировать системы Windows NT/2K.
Со временем я выращивал коллекцию похожих инструментов, в том числе некоторые из них, не включенные в наборы ресурсов. Эти средства отличаются тем, что все они позволяют управлять удаленными системами, а также локальными. Первым инструментом в наборе был PsList, инструмент, который позволяет просматривать подробные сведения о процессах, и набор постоянно растет. Префикс Ps в PsList связан с тем, что стандартное средство командной строки списка процессов UNIX называется ps, поэтому я принял этот префикс для всех средств, чтобы связать их с набором инструментов с именем PsTools.
Примечание
Некоторые антивирусные сканеры сообщают, что один или несколько средств заражены вирусом удаленного администратора. Ни один из psTools не содержит вирусов, но они использовались вирусами, поэтому они активируют уведомления о вирусах.
Средства, включенные в набор PsTools , которые можно скачать в виде пакета, являются следующими:
- PsExec — удаленное выполнение процессов
- PsFile — показывает файлы, открытые удаленно
- PsGetSid — отображение идентификатора безопасности компьютера или пользователя
- PsInfo — список сведений о системе
- PsPing — измерение производительности сети
- PsKill — удаление процессов по имени или идентификатору процесса
- PsList — список подробных сведений о процессах
- PsLoggedOn — узнайте, кто вошел в систему локально и через общий доступ к ресурсам (включен полный источник).
- PsLogList — записи журнала событий дампа
- PsPasswd — изменение паролей учетных записей
- PsService — просмотр и управление службами
- PsShutdown — завершает работу и при необходимости перезагружает компьютер.
- PsSuspend — приостановка процессов
- PsUptime — показывает, сколько времени работает система с момента последней перезагрузки (функциональные возможности PsUptime были включены в PsInfo
Пакет загрузки PsTools содержит HTML-файл справки с полными сведениями об использовании для всех средств.
Скачать PsTools Suite(3,9 МБ)
Выполняется в:
- Клиент: Windows 8.1 и выше
- Сервер: Windows Server 2012 и выше
- Nano Server: 2016 и более поздние версии
Установка
Ни один из средств не требует специальной установки. Вам даже не нужно устанавливать клиентское программное обеспечение на удаленных компьютерах, на которых они предназначены. Запустите их, введя имя и любые нужные параметры командной строки. Чтобы отобразить полные сведения об использовании, укажите «-? » параметр командной строки.
Если у вас возникли вопросы или проблемы, посетите форум Sysinternals PsTools.
Event filtering entries
Event filtering allows you to filter generated events. In many cases
events can be noisy and gathering everything is not possible. For
example, you might be interested in network connections only for a
certain process, but not all of them. You can filter the output on the
host reducing the data to collect.
Each event has its own filter tag under the EventFiltering node in a
configuration file:
ID | Tag | Event |
---|---|---|
1 | ProcessCreate | Process Create |
2 | FileCreateTime | File creation time |
3 | NetworkConnect | Network connection detected |
4 | n/a | Sysmon service state change (cannot be filtered) |
5 | ProcessTerminate | Process terminated |
6 | DriverLoad | Driver Loaded |
7 | ImageLoad | Image loaded |
8 | CreateRemoteThread | CreateRemoteThread detected |
9 | RawAccessRead | RawAccessRead detected |
10 | ProcessAccess | Process accessed |
11 | FileCreate | File created |
12 | RegistryEvent | Registry object added or deleted |
13 | RegistryEvent | Registry value set |
14 | RegistryEvent | Registry object renamed |
15 | FileCreateStreamHash | File stream created |
16 | n/a | Sysmon configuration change (cannot be filtered) |
17 | PipeEvent | Named pipe created |
18 | PipeEvent | Named pipe connected |
19 | WmiEvent | WMI filter |
20 | WmiEvent | WMI consumer |
21 | WmiEvent | WMI consumer filter |
22 | DNSQuery | DNS query |
23 | FileDelete | File Delete archived |
24 | ClipboardChange | New content in the clipboard |
25 | ProcessTampering | Process image change |
26 | FileDeleteDetected | File Delete logged |
27 | FileBlockExecutable | File Block Executable |
28 | FileBlockShredding | File Block Shredding |
You can also find these tags in the event viewer on the task name.
The filter is applied if events are matched. It can be changed
with the attribute for the filter tag. If the value is
, it means only matched events are included. If it is set to
, the event will be included except if a rule match. You can
specify both an include filter set and an exclude filter set for each
event ID, where exclude matches take precedence.
Each filter can include zero or more rules. Each tag under the filter
tag is a field name from the event. Rules that specify a condition for
the same field name behave as OR conditions, and ones that specify
different field name behave as AND conditions. Field rules can also use
conditions to match a value. The conditions are as follows (all are case
insensitive):
Condition | Description |
---|---|
is | Default, values are equals |
is any | The field is one of the delimited values |
is not | Values are different |
contains | The field contains this value |
contains any | The field contains any of the delimited values |
contains all | The field contains all of the delimited values |
excludes | The field does not contain this value |
excludes any | The field does not contain one or more of the delimited values |
excludes all | The field does not contain any of the delimited values |
begin with | The field begins with this value |
end with | The field ends with this value |
not begin with | The field does not begin with this value |
not end with | The field does not end with this value |
less than | Lexicographical comparison is less than zero |
more than | Lexicographical comparison is more than zero |
image | Match an image path (full path or only image name). For example: will match |
You can use a different condition by specifying it as an attribute. This
excludes network activity from processes with iexplore.exe in their
path:
To have Sysmon report which rule match resulted in an event being logged, add
names to rules:
You can use both include and exclude rules for the same tag, where exclude rules
override include rules. Within a rule, filter conditions have OR behavior.
In the sample configuration shown earlier, the networking filter uses both an
include and exclude rule to capture activity to port 80 and 443 by all processes
except those that have in their name.
It is also possible to override the way that rules are combined by using a rule
group which allows the rule combine type for one or more events to be set
explicity to AND or OR.
The following example demonstrates this usage. In the first rule group, a
process create event will be generated when is executed only with
a command line argument of , but a process terminate event will be
generated for the termination of and .
Download Sysmon (4.6 MB)
Runs on:
Тест стабильности видеокарты OCCT
Следующий тест стабильно, который обитает на третьей вкладке, а именно GPU: OCCT, позволяет протестировать стабильность видеокарты, а именно, как уже говорилось, её графического процессора и памяти.
Поддерживается Crossfire и SLI, проверка и выявление множества ошибок при сильном прогреве в ходе нагрузок, а так же, при помощи специальной системы, определяются артефакты (искажения изображения). Можно делать тестирование при разном количестве шейдеров, FPS и всем остальным.
Здесь, собственно, выставляем следующее:
- Тип теста: авто
- Длительность теста: 1 час 0 минут
- Версия DirectX: если доступна, то 11, если нет, то 9, если нужно специфично протестироваться под какое-то приложение, то выбираем то значение, которое использует приложение;
- Разрешение: текущее, либо, если нужно специфично протестироваться под какое-то приложение, то выбираем то значение, которое использует приложение;
- Тип: полноэкранный (галочка);
- Проверка наличия ошибок: для первого теста обычно ставить нет необходимости, для второго (если проблема визуально сохраняется, но ошибки не найдены) есть смысл поставить галочку;
- Сложность шейдеров: в целом, этот параметр отвечает за количество операций выполняемых видеокартой за один проход (чаще всего выбирается максимально доступное значение, либо , если нужно специфично протестироваться под какое-то приложение, то выбираем то значение, которое использует приложение);
- Ограничитель: 0 (ноль), либо 60 (если используете вертикальную синхронизацию и нужно протестировать работу под неё).
Дальше остается только нажать на кнопочку ON и подождать часик (или меньше, если будет найдена ошибка, компьютер зависнет, выключится или проявит еще какие-то признаки перегрева и сбоя) пока будет идти сканирование системы. Об анализе результатов сказано в конце статьи.
Сам тест выглядит обычно, как на скриншоте выше. Запускается не сразу (см.периоды бездействия), может менять тип картинки (изображения). Существенные визуальные искажения (их сложно с чем-то перепутать) являются артефактами и свидетельствуют о проблемах с видеокартой, её памятью и чем-либо еще.
Идем дальше.
Как использовать Process Monitor
После извлечения файлов Process Monitor вы увидите разные файлы для запуска утилиты. Если вы используете 64-разрядную систему Windows, выберите файл с именем Procmon64.exe. Если нет, выберите файл Procmon.exe.
Из главного окна монитора процессов вы можете запустить представление, подобное приложению Process Explorer. Это представление в виде дерева процессов. Чтобы просмотреть это, просто выберите небольшой значок документа с изображением древовидной диаграммы на нем.
Некоторая информация, которую вы можете увидеть в этом представлении, включает родительский процесс и все запущенные им процессы. Вы можете увидеть его команду запуска, разработчика приложения (если доступно), как долго оно работает и дату его запуска.
Он не так информативен, как Process Explorer, но позволяет быстро увидеть большую часть той же информации.
Создать фильтр монитора процессов
Вернувшись на главный экран (окно событий процессов), щелкните правой кнопкой мыши любой из процессов и выберите «Изменить фильтр», чтобы обновить фильтр процесса.
В этом окне показано, как работает фильтрация в Process Monitor. Первое раскрывающееся меню позволяет выбрать объект для фильтра. В данном случае это имя процесса. В следующем раскрывающемся списке указан оператор, например, есть, нет, меньше и т. Д. В этом поле вы можете ввести или выбрать фильтр, а также указать, хотите ли вы включить или исключить эти записи.
Когда вы выбираете «Добавить», он добавит этот новый фильтр в ваш список и соответствующим образом изменит общий вид процессов.
Чтобы создать новый фильтр, выберите меню «Фильтр» и выберите «Фильтр».
Откроется то же окно, но с пустым фильтром. Просто выберите каждое раскрывающееся меню, введите элемент фильтра, который вы хотите исключить или включить, и добавьте его в свой список фильтров.
После того, как вы нажмете ОК, он обновит ваше основное представление, чтобы включить новый фильтр.
Самая полезная функция Process Monitor — это регистрация системных событий во время некоторых действий. Вы можете регистрировать системные события следующим образом:
- Нажмите значок лупы «Захват», чтобы остановить запись.
- Выберите ластик на бумаге Значок «Очистить», чтобы очистить журнал.
- Снова нажмите значок захвата, чтобы начать запись.
- Выберите Фильтр и Включить расширенный вывод.
- Воссоздайте проблему.
- Еще раз щелкните значок «Захват», чтобы остановить запись.
- Выберите значок «Сохранить на диске», чтобы сохранить журнал на свой компьютер.
Вы можете просмотреть журнал, чтобы увидеть все события процесса, которые произошли, когда вы воссоздали проблему или ошибку, которую вы пытаетесь устранить.
Изучение глубже с помощью событий
Когда вы выбираете определенные события в Process Monitor, вы можете изучить более подробную информацию через меню Event.
Выберите событие, которое хотите изучить. Затем выберите меню «Событие» и выберите «Свойства».
Это показывает все свойства для события. Вкладка «Событие» показывает в основном то, что было в главном окне Process Monitor. На вкладке «Процесс» отображаются такие вещи, как путь к приложению и командная строка запуска, а также модули, используемые процессом. На вкладке «Стек» представлены модули, хранящиеся в памяти процессом, и их детали.
Вы можете получить доступ только к вкладке «Стек», выбрав вместо этого «Стек» в меню «События».
Если вы хотите внимательно следить за одним событием, выберите его, а затем выберите меню «Событие» и выберите «Переключить закладку».
Это выделит событие, чтобы его было легче отслеживать.
Вы также можете увидеть записи реестра для любого процесса, выбрав меню «Событие» и выбрав «Перейти к».
Это быстрый способ увидеть любые записи реестра, которые вы можете переключить для настройки этого приложения.
В правой части панели инструментов вы увидите пять значков, которые можно использовать для точной настройки фильтров по умолчанию.
Вы можете использовать их для включения или выключения каждого из следующих фильтров:
- Регистрационная деятельность
- Активность файловой системы
- Сетевая активность
- Активность процессов и потоков
- Профилирование событий
Examples
-
Write a mini dump of a process named ‘notepad’ (only one match can
exist): -
Write a Full dump of a process with PID ‘4572’:
-
Write a Mini first, and then a Full dump of a process with PID ‘4572’:
-
Write 3 Mini dumps 5 seconds apart of a process named ‘notepad’:
-
Write up to 3 Mini dumps of a process named ‘consume’ when it exceeds
20% CPU usage for five seconds: -
Write a Mini dump for a process named ‘hang.exe’ when one of its
windows is unresponsive for more than 5 seconds: -
Write a Full and Kernel dump for a process named ‘hang.exe’ when one of its
windows is unresponsive for more than 5 seconds: -
Write a Mini dump of a process named ‘outlook’ when total system CPU
usage exceeds 20% for 10 seconds: -
Write a Full dump of a process named ‘outlook’ when Outlook’s handle
count exceeds 10,000: -
Write a Full dump of ‘svchost’ PID 1234, Instance #87, when the handle count
exceeds 10,000:Note: Multiple Instance Counters
If there are multiple instances of the counter, you’ll need to
include the Name and/or Instance number.Older OSes require you to append the PID for counters.
Tip: Use Performance Monitor to view the counters (esp. case sensitivity).Tip: For based counters, use PowerShell to map a PID to its .
-
Write a Full dump for a 2nd chance exception:
-
Write a Full dump for a 1st or 2nd chance exception:
-
Write a Full dump for a debug string message:
-
Write up to 10 Full dumps of each 1st or 2nd chance exception of w3wp.exe:
-
Write up to 10 Full dumps if an exception’s code/name/msg contains »:
-
Write up to 10 Full dumps if a debug string message contains »:
-
Wait for a process called ‘notepad’ (and monitor it for exceptions):
-
Launch a process called ‘notepad’ (and monitor it for exceptions):
-
Register for launch, and attempt to activate, a store ‘application’. A new ProcDump instance will start when it is activated:
-
Register for launch of a store ‘package’. A new ProcDump instance will start when it is (manually) activated:
-
Write a MiniPlus dump of the Microsoft Exchange Information Store when it has an unhandled exception:
-
Display without writing a dump, the exception codes/names of w3wp.exe:
-
Windows 7/8.0; Use Reflection to reduce outage for 5 consecutive triggers:
-
Windows 8.1+; Use PSS to reduce outage for 5 concurrent triggers:
-
Install ProcDump as the (AeDebug) postmortem debugger:
..or..
-
Uninstall ProcDump as the (AeDebug) postmortem debugger:
See a list of example command lines (the examples are listed above):
Диагностика блока питания (БП)
Основные признаки неисправности блока питания:
- Компьютер не включается вообще.
- Компьютер стартует на 2-3 секунды и прекращает работу.
- Компьютер включается с 5-10-25 раза.
- При нагрузке компьютер тухнет, перезагружается или выкидывает синий экран смерти.
- При нагрузке компьютер сильно тормозит.
- Устройства подключенные к компьютеру самопроизвольно отключаются и подключатся (винты, приводы, USB-устройства).
- Писк (свист) при работе компьютера.
- Неестественный шум от вентилятора БП.
Визуальный осмотр БП
Первое что нужно сделать при неисправности блока питания это сделать визуальный осмотр. Отсоединяем БП от корпуса и разбираем сам БП. Проверяем на:
- Гарь, поплавленные элементы БП — смотрим что бы все элементы были целыми, если нашли гарь или явно что то оплавленное, несем БП в ремонт или меняем на новый.
- Вздутые конденсаторы — заменяем вздутые конденсаторы на новые. Из-за них компьютер может включатся не с первого раза или тухнуть при нагрузке.
- Пыль — если пыль забилась в вентиляторе и радиаторах, ее необходимо очистить, из-за этого БП в нагрузке может выключатся от перегрева.
- Сгоревший предохранитель — при перепаде напряжения частенько горит предохранитель, его необходимо заменить.
Проверили все но блок питания ведет себя плохо, смотрим.
Программная диагностика БП
Программную диагностику блока питания можно провести с помощью любой программы теста дающей максимальную нагрузку на БП. Перед тем как делать такую проверку необходимо определить достаточно ли всем элементам вашего ПК мощности блока питания. Проверить это можно так: запустите программу AIDA 64 ссылка выше и перейти на сайт вычисления необходимой мощности БП. На сайте переносим данные из аиды в подходящие поля и нажимаем кнопку Calculate. Так мы будем уверенны точно какой мощности блока питания хватит для компьютера.
Приступаем к самой диагностике БП. Качаем программу OCCT. Устанавливаем и запускаем ее. Переходим во вкладку Power Supply. ставим галку использовать все логические ядра (работает не на всех компах) и нажимаем кнопку ON. Тест длится час и если в это время компьютер выключается, перезагружается, выбивает синий экран, есть проблемы с БП (До проверки БП нужно предварительно проверить видеокарту и процессор, во избежание неверности теста).
Показывать как сделать диагностику БП мультиметром я не буду, потому как этой информации в сети валом, да и делать такую диагностику лучше профессионалам. Боле подробно тестирование БП я покажу в видео ниже:
Тест стабильности блока питания OCCT
Данный тест, обитающий на вкладке POWER SUPPLY, предназначен для подачи очень высокой нагрузки на все элементы питания, путем сочетания нескольких тестов. Чаще всего предназначен для тестирования блока питания путем подачи максимальной нагрузки на все компоненты, но может являться свидетельством проблем с питанием на мат.плате как таковой.
ВНИМАНИЕ! Достаточно сложен для анализа, рекомендуется использовать только, если первые тесты не выяснили ничего и никак, но проблемы сохраняются. Опасен и решительно не подходит для дешевых (noname) и некачественных блоков питания
Используйте на свой страх и риск.
Аналогично прошлому тесту тут выставляется следующее:
- Тип теста: авто
- Длительность теста: 1 час 0 минут
- Версия DirectX: если доступна, то 11, если нет, то 9, если нужно специфично протестироваться под какое-то приложение, то выбираем то значение, которое использует приложение;
- Разрешение: текущее, либо, если нужно специфично протестироваться под какое-то приложение, то выбираем то значение, которое использует приложение;
- Тип: полноэкранный режим (галочка);
- 64 бит: если система и процессор поддерживают;
- AVX-совместимый Linkpack, — есть смысл избегать, если не знаете о чем речь;
- Использовать все логические ядра, — ставить обязательно, если галочка доступна (может быть недоступна, если их нет или нет к ним доступа).
Дальше остается только нажать на кнопочку ON и подождать часик (или меньше, если будет найдена ошибка, компьютер зависнет, выключится или проявит еще какие-то признаки перегрева и сбоя) пока будет идти сканирование системы. Об анализе результатов сказано ниже.
Introduction
System Monitor (Sysmon) is a Windows system service and device
driver that, once installed on a system, remains resident across system
reboots to monitor and log system activity to the Windows event log. It
provides detailed information about process creations, network
connections, and changes to file creation time. By collecting the events
it generates using
Windows Event Collection
or
SIEM
agents and subsequently analyzing them, you can identify malicious or
anomalous activity and understand how intruders and malware operate on
your network.
Note that Sysmon does not provide analysis of the events it generates,
nor does it attempt to protect or hide itself from attackers.
Записи конфигурации
Записи конфигурации похожи на параметры командной строки и включают следующее:
К записям конфигурации относятся следующие:
Ввод | Значение | Описание |
---|---|---|
ArchiveDirectory | Строка | Имена каталогов корневых томов, в которые перемещаются файлы копирования при удалении. Каталог защищен с помощью системного ACL (вы можете использовать PsExec из Sysinternals для доступа к каталогу с помощью ). По умолчанию: |
CheckRevocation | Логическое | Управляет проверками отзыва подписей. По умолчанию: |
CopyOnDeletePE | Логическое | Сохраняет удаленные исполняемые файлы образов. По умолчанию: |
CopyOnDeleteSIDs | строк | Разделенный запятыми список идентификаторов БЕЗОПАСНОСТИ учетных записей, для которых будут сохраняться удаления файлов. |
CopyOnDeleteExtensions | строк | Расширения для файлов, которые сохраняются при удалении. |
CopyOnDeleteProcesses | строк | Имена процессов, для которых будут сохраняться удаления файлов. |
DnsLookup | Логическое | Управляет обратным поиском DNS. По умолчанию: |
DriverName | Строковый тип | Использует имя с указанием для образов драйверов и служб. |
HashAlgorithms | строк | Хэш-алгоритмы, применяемые для хэширования. Поддерживаются следующие алгоритмы: MD5, SHA1, SHA256, IMPHASH и * (все). По умолчанию: |
Параметры командной строки имеют запись конфигурации, описанную в выходных данных использования Sysmon. Параметры являются необязательными в зависимости от тега . Если параметр командной строки также включает событие, его необходимо настроить с помощью тега фильтра. Вы можете указать параметр, чтобы Sysmon распечатал полную схему конфигурации, включая теги событий, а также имена полей и типы для каждого события. Например, ниже приведена схема для типа события:
Предварительные требования
Ниже приведены минимальные требования для выполнения этих лабораторий по устранению неполадок.
- Приложение ASP.NET Core для демонстрации проблем с низкой производительностью ЦП и высокой производительности ЦП и проблем с аварийным завершением.
- Отладчик lldb, установленный и настроенный для загрузки расширения SOS при открытии основного файла дампа.
Если вы следовали предыдущим частям этой серии, вы должны иметь следующую настройку.
- Nginx настроен для размещения двух веб-сайтов:
- Первый прослушивает запросы с помощью заголовка узла myfirstwebsite () и маршрутизации запросов к демонстрационному приложению ASP.NET Core, которое прослушивает порт 5000.
- Второй прослушивает запросы с помощью заголовка узла () и маршрутизации запросов к второму примеру приложения ASP.NET Core, которое прослушивает порт 5001.
- Оба ASP.NET Core должны работать как службы, которые автоматически перезапускаются при перезапуске сервера или при остановке ответа приложения.
- Локальный брандмауэр Linux включен и настроен для разрешения трафика SSH и HTTP.
Примечание.
Если настройка не готова, перейдите к разделу «Часть 2. Создание и запуск ASP.NET Core приложений».
Предпреждение по тестированию
Стоит с осторожностью относиться к этому тесту, т.к он нагружает и разогревает процессор крайне сильно (в том числе по питанию ядра, если это поддерживается мат.платой) и является крайне экстремальным тестом. Рекомендуется использовать только при наличии мощнейший системы охлаждения и острой необходимости диагностирования оный и процессора
В остальных случаях лучше использовать первый тест.
Для тех кто решился (обычно требуется, если первый тест не выявил проблем, но «визуально» они сохраняются):
- Тип теста: авто;
- Длительность теста: 1 час 0 минут;
- Режим теста: 90% памяти (рекомендую закрыть все возможные программы, антивирусы и тп, либо уменьшить это значение до 70-80%);
- 64 бит: если система и процессор поддерживают;
- AVX-совместимый Linkpack, — есть смысл избегать, если не знаете о чем речь;
- Использовать все логические ядра, — ставить обязательно, если галочка доступна (может быть недоступна, если их нет или нет к ним доступа).
Дальше остается только нажать на кнопочку ON и подождать часик (или меньше, если будет найдена ошибка, компьютер зависнет, выключится или проявит еще какие-то признаки перегрева и сбоя) пока будет идти сканирование системы. Об анализе результатов сказано в конце статьи.
Идем дальше.
Диагностика диска HDD и SSD.
Ну а теперь перейдем непосредственно в самой диагностики дисков, после скачивания программы запускаем файл нужной битности и смотрим на основное окно если вы увидите иконку синего цвета подписью хорошо или на английском good значит с вашим SMART диска все в порядке и дальнейшую диагностику можно не проводить.
Если же вы увидите желтую или красную иконку c надписями осторожно, плохо, значит с вашим диском есть какие либо проблемы. Узнать о точной проблеме можно ниже в списке основных диагностических элементов SMART
Везде где будут желтые и красные иконки напротив надписи, будет говорить о том что именно в этой части пострадал ваш диск.
Если у вас уже исчерпан ресурс диска, то ремонтировать его уже не стоит. Если же у вас нашлось несколько битых секторов, то возможность ремонта еще есть. О ремонте битых секторов я расскажу далее. Если на диске много битых секторов, более 10 или же много очень медленных секторов то восстанавливать такой диск не стоит. Через некоторое время он все равно посыпется дальше, его нужно будет постоянно восстанавливать/ремонтировать.
Программный ремонт диска.
Под ремонтом я подразумеваю релокацию битых и медленных секторов на диске. Данная инструкция подходит только для дисков HDD, то есть только hard drive. Для SSD данная операция ничем не поможет, а только ухудшит состояние твердотельного диска.
Ремонт поможет еще немного продлить жизнь жестко вашего диска. Для восстановления битых секторов мы будем использовать программу HDD regenerator. Скачайте и запустите данную программу, подождите пока программа соберет данные о ваших дисках после того как данные будут собраны вы увидите окошко в котором Вам нужно будет нажать на надпись — Click here to bad sectors on demaget drive surfase directly under Windows XP, Vista, 7, 8 и 10. Нажать на надпись нужно быстро в ОС 8 и 10, так окошко быстро пропадет, в 7 все нормально. Далее нажмите NO. Потом в списке выбираете ваш диск. Нажимаете кнопку start process. Появится окно в виде командной строки в котором Вам нужно будет нажать 2, Enter, 1, Enter.
После проделанных операций начнется сканирование системы на наличие битых секторов и перемещение их на не читаемые разделы диска. На самом деле битые сектора не пропадают но в дальнейшем они не мешают работе системы и вы можете продолжать использовать диск дальше. Процесс проверки и восстановления диска может занять длительное время, зависит от объема вашего диска. По окончании выполнения программы нажмите кнопку 5 и Enter. Если у вас возникли какие-либо ошибки во время тестирования и исправления битых секторов, значит что ваш диск восстановить невозможно. Если у вас было найдено более 10 бэдов — битых секторов, то восстанавливает такой диск не имеет смысла, с ним постоянно будут проблемы.
Основные признаки выхода из строя дисков это:
- замедление работы открытия файлов и программ.
- беспричинная перезагрузка компьютера.
- большая нагрузка на процессор.
- вылеты в синий экран.
- зависание интерфейса Windows.
- могут быть и другие проблемы но рассказать о всех не представляется возможным.
Видео, о том как сделать диагностику HDD/SSD
Дальше будем проверять оперативную память (ОЗУ)
Тест стабильности процессора и памяти
Самая первая вкладка, а именно CPU: OCCT позволяет запустить тест на проверку либо только центрального процессора, либо центрального процессора и памяти, либо центрального процессора + памяти + чипсета.
Делается это следующим образом. Выставляем:
- Тип теста: авто;
- Длительность теста: 1 час 0 минут;
- Режим теста: большой набор данных.
Комментарии по пунктам, которые выставили:
Работает заданное время, т.е час и более (либо до обнаружения ошибки), позволяет не тратить лишнее время на диагностику;
Время теста, — это время теста;
Набор данных, — определяет уровень нагрузки и создаваемый нагрев, а так же количество тестируемых элементов. Если набор данных малый, то тестируется только процессор, если средний, то процессор+память, если большой, то процессор+память+чипсет
В большом наборе сильнее прогрев, но можно найти больше ошибок, в малом меньше нагрев, но можно пропустить что-то важное;
Остальные параметры:
- Бездействие вначале и в конце, — оставляем как есть, позволяет снизить нагрузку до/после запуска и считать необходимые данные;
- Версия теста, — выберите ту, которая соответствует установленной версии операционной системы;
- Число потоков, — как правило, достаточно галочки «Авто», но если оно определятся некорректно (меньше, чем число физических и логических ядер процессора), то можно выставить вручную, сняв галочку.
Дальше остается только нажать на кнопочку ON и подождать часик (или меньше, если будет найдена ошибка, компьютер зависнет, выключится или проявит еще какие-то признаки перегрева и сбоя) пока будет идти сканирование системы. Об анализе результатов сказано в конце статьи.
Вторая вкладка, а именно CPU: LINPACK, представляет собой еще один тест, но исключительно процессора, а не многих элементов сразу (см.описание первой вкладки выше).
Анализ высокого потребления процессора
(Пример 04-CpuUtilization. Запустите пример и подождите минут 10-15.)
На последок осталось рассмотреть случай, когда наша система начинает жадно потреблять процессорные ресурсы. Обычно, высокое потребление ресурсов процессора может говорить о том, что наше приложение могло попасть в бесконечный цикл и единственный способ его понизить – это перезапустить приложение.
Снимем дамп процесса и проанализируем его. С помощью команды .time посмотрим, сколько времени наше приложение провело в пользовательском режиме, а сколько в режиме ядра.
В моем примере программа провела в режиме ядра 13 секунд, а в пользовательском режиме 14 минут. Это означает, что потоки постоянно выполняют какую-то работу и практически никогда не засыпают. Это довольно странно. В WinDbg есть команда runaway, которая может показать распределение времени выполнения по потокам.
С параметрами по умолчанию runaway выводит только время в режиме пользователя. Мы можем видеть, что 4 потока что-то безостановочно молотят на протяжении почти 3 минут каждый. Здесь показаны системные идентификаторы потоков. С помощью команды threads получим внутренние идентификаторы отладчика и заодно посмотрим, не возникло ли никаких исключений.
Можно видеть, что во всех интересующих нас потоках возникали исключения KeyNotFoundException.
Посмотрим на стеки потоков (приведен вывод для одного потока, стеки остальных аналогичны).
Теперь мы знаем место в исходниках, где искать проблему. Если заглянуть в исходники примера, то можно видеть бесконечный цикл, в котором всегда происходит ошибка получения данных из ConcurrentDictionary.
Общий алгоритм поиска довольно просто:
- С помощью команды runaway находим самые «прожорливые» потоки.
- Анализируем стеки этих потоков.
В реальной жизни все намного сложней: в приложении крутятся десятки или сотни потоков, а в куче выделены миллионы объектов. Это сильно усложняет анализ, но описанные шаги неоднократно помогали мне при анализе проблем с системами. Надеюсь, что приведенные мной примеры использования WinDbg, Sos и Sosex и вам помогут облегчить жизнь и спасти немного нервных клеток.
Все исходники примеров для изучения можно взять здесь