Какие ошибки может отследить компьютер
Обновлено: 21.11.2024
В этой статье описывается, как устранять проблемы с зависанием на компьютерах и серверах под управлением Windows. В нем также представлены методы сбора данных, которые помогут администраторам или разработчикам программного обеспечения диагностировать, выявлять и устранять эти проблемы.
Обсуждаемые в этой статье сторонние продукты производятся компаниями, независимыми от Microsoft. Microsoft не дает никаких гарантий, подразумеваемых или иных, в отношении производительности или надежности этих продуктов.
Определите проблему
- Какой компьютер зависает? (Пример: затронутый компьютер — это физический сервер, виртуальный сервер и т. д.)
- Какая операция выполнялась во время зависания? (Пример: эта проблема возникает, когда вы закрываете графический интерфейс, выполняете одну или несколько операций и т. д.)
- Как часто возникают ошибки? (Пример: эта проблема возникает каждую ночь в 19:00, каждый день около 7:00 и т. д.)
- На скольких компьютерах это происходит? (Пример: все компьютеры, только один компьютер, 10 компьютеров и т. д.)
Устранение проблем с зависанием
Чтобы устранить проблемы с зависанием, проверьте текущее состояние компьютера и воспользуйтесь одним из следующих способов.
Для компьютера, который все еще работает в зависшем состоянии
Если физический компьютер или виртуальная машина по-прежнему зависают, используйте один или несколько из следующих методов устранения неполадок:
- Попробуйте получить доступ к компьютеру через удаленный рабочий стол, Citrix и т. д.
- Используйте учетную запись домена или учетную запись локального администратора для входа на компьютер с помощью одной из функций удаленного физического доступа к консоли, например карты удаленного доступа Dell (DRAC), HP Integrated Lights-Out (iLo) или IBM Remote supervisor. адаптер (RSA).
- Проверьте связь с компьютером. Могут наблюдаться потери пакетов и высокая задержка в сети.
- Доступ к административным общим ресурсам (\\ServerName\c$).
- Нажмите Ctrl + Alt + Delete и проверьте ответ.
- Попробуйте использовать инструменты удаленного администрирования, такие как Управление компьютером, Диспетчер удаленного сервера и Wmimgmt.msc.
Для компьютера, который больше не зависает
Если физический компьютер или виртуальная машина зависли, но теперь работают нормально, используйте один или несколько из следующих методов устранения неполадок.
Для физического компьютера
Просмотрите журналы системы и приложений на компьютере, на котором возникла проблема. Проверьте журналы событий на наличие соответствующего идентификатора события:
- Журнал событий приложения: ошибка приложения (предполагает сбой или соответствующий системный процесс)
- Журналы системных событий, идентификаторы событий диспетчера управления службами для критически важных системных служб
- Идентификаторы событий ошибок 2019/2020 с исходным Srv/Server
Создайте отчет о диагностике системы, выполнив команду perfmon /report.
Для виртуальной машины
- Просмотрите журналы системы и приложений с компьютера, на котором возникла проблема.
- Создайте отчет о диагностике системы, выполнив команду perfmon /report.
- Проверьте историю в инструментах мониторинга виртуального управления.
Сбор данных о проблемах с зависанием
Чтобы собрать данные о зависании сервера, проверьте следующую таблицу и используйте один или несколько из предложенных методов.
Метод 1: дамп памяти
Внимательно следуйте инструкциям в этом разделе. При неправильном изменении реестра могут возникнуть серьезные проблемы. Прежде чем изменять его, создайте резервную копию реестра для восстановления в случае возникновения проблем.
В файл полного дампа памяти записывается все содержимое системной памяти, когда компьютер неожиданно останавливается. Полный файл дампа памяти может содержать данные о процессах, которые выполнялись во время сбора файла дампа памяти.
Если компьютер больше не зависает и теперь работает в хорошем состоянии, выполните следующие действия, чтобы включить дамп памяти, чтобы можно было собрать дамп памяти при повторном возникновении проблемы с зависанием. Если виртуальная машина все еще работает в зависшем состоянии, выполните следующие действия, чтобы включить и собрать дамп памяти.
Если на компьютере включена функция перезагрузки, например функция автоматического перезапуска системы (ASR) на компьютерах Compaq, отключите ее. Этот параметр обычно находится в BIOS. Если эта функция включена, если BIOS не обнаружит пульс от операционной системы, он перезагрузит компьютер. Перезапуск может прервать процесс создания дампа.
Убедитесь, что компьютер настроен на получение полного файла дампа памяти. Для этого выполните следующие действия:
Перейдите в меню "Выполнить" и введите Sysdm.cpl , а затем нажмите клавишу ввода.
В свойствах системы на вкладке "Дополнительно" выберите "Производительность" > "Настройки" > "Дополнительно", а затем проверьте или измените виртуальную память, нажав "Изменить".
Вернитесь в «Свойства системы» > «Дополнительно» > «Параметры запуска и восстановления».
В разделе "Запись отладочной информации" выберите "Полный дамп памяти".
Для более ранних версий Windows, чем Windows 8 или Windows Server 2012, тип полного дампа памяти недоступен в графическом интерфейсе. Вы должны изменить его в редакторе реестра. Для этого измените значение следующей записи реестра CrashDumpEnabled на 1 (REG_DWORD): HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\CrashDumpEnabled
Выберите «Перезаписать любой существующий файл».
Убедитесь, что на системном диске есть файл подкачки (pagefile.sys) и его размер превышает установленную оперативную память (начальный и максимальный размер) не менее чем на 100 мегабайт (МБ).
Убедитесь, что на системном диске свободного места больше, чем физической оперативной памяти.
Включите параметр реестра CrashOnCtrlScroll, чтобы разрешить системе создавать файл дампа с помощью клавиатуры. Для этого выполните следующие действия:
Перейдите в редактор реестра и найдите следующие разделы реестра:
Создайте следующую запись реестра CrashOnCtrlScroll в двух разделах реестра:
Выйти из редактора реестра.
Перезагрузите компьютер.
На некоторых физических компьютерах вы можете создать недопустимое прерывание (NMI) с помощью функции веб-интерфейса (например, DRAC, iLo и RSA). Однако по умолчанию этот параметр останавливает систему без создания дампа памяти.
Чтобы разрешить операционной системе создавать файл дампа памяти при прерывании NMI, установите для записи реестра NMICrashDump значение 1 (REG_DWORD). Затем перезагрузите компьютер, чтобы применить это изменение.
Это применимо только к Windows 7, Windows Server 2008 R2 и более ранним версиям Windows. Для Windows 8, Windows Server 2012 и более поздних версий Windows раздел реестра NMICrashDump больше не требуется, а прерывание NMI приведет к стоп-ошибке, которая следует за сбором данных дампа памяти.
Когда на компьютере возникает проблема, удерживайте нажатой правую клавишу Ctrl и дважды нажмите клавишу Scroll Lock, чтобы создать файл дампа памяти.
По умолчанию файл дампа находится по следующему пути:
%SystemRoot%\MEMORY.DMP
Способ 2. Проверка достоверности данных
Используйте утилиту проверки дампа (Dumpchk.exe), чтобы прочитать файл дампа памяти или убедиться, что файл создан правильно. Вы можете использовать средство Microsoft DumpChk (Crash Dump File Checker), чтобы убедиться, что файлы дампа памяти не повреждены и не являются недействительными.
Узнайте, как использовать Dumpchk.exe для проверки файлов дампа:
Способ 3. Монитор производительности
Вы можете использовать системный монитор Windows для изучения того, как программы, которые вы запускаете, влияют на производительность вашего компьютера, как в режиме реального времени, так и путем сбора данных журнала для последующего анализа. Чтобы создать коллекции счетчиков производительности и журналов трассировки событий в локальных и удаленных системах, выполните следующие команды в командной строке от имени администратора:
Затем вы можете запустить или остановить журнал, выполнив следующие команды:
Журнал системного монитора находится по пути: C:\PERFLOGS
Способ 4: диагностика поддержки Microsoft
В поле поиска на портале самопомощи Microsoft Support Diagnostics введите Диагностика производительности Windows.
В результатах поиска выберите «Диагностика производительности Windows» и нажмите «Создать».
Следуйте шагам диагностики.
Дополнительные методы сбора данных
Использовать дамп памяти для сбора данных для физического компьютера, работающего в зависшем состоянии
Внимательно следуйте инструкциям в этом разделе. При неправильном изменении реестра могут возникнуть серьезные проблемы. Прежде чем изменять его, создайте резервную копию реестра для восстановления в случае возникновения проблем.
Если физический компьютер все еще работает в зависшем состоянии, выполните следующие действия, чтобы включить и собрать дамп памяти:
Убедитесь, что компьютер настроен на получение полного файла дампа памяти и что вы можете получить к нему доступ через сеть. Для этого выполните следующие действия:
Если невозможно получить доступ к уязвимому компьютеру через сеть, попробуйте создать файл дампа памяти с помощью прерывания NMI. Результат действия может не собрать файл дампа памяти, если некоторые из следующих параметров не определены.
Попробуйте получить доступ к рабочему столу компьютера любым способом.
В случае, если доступ к операционной системе невозможен, попробуйте удаленно получить доступ к редактору реестра на компьютере, чтобы проверить тип файла дампа памяти и файла подкачки, с которыми в данный момент настроен компьютер.
С удаленного компьютера, который предпочтительно находится в той же сети и подсети, выберите Редактор реестра > Подключить сетевой реестр. Затем подключитесь к соответствующему компьютеру и проверьте следующие настройки:
Убедитесь, что запись реестра CrashDumpEnabled имеет значение 1 .
На некоторых физических серверах, если запись реестра NMICrashDump существует и ее значение равно 1 , вы можете воспользоваться преимуществами NMI из возможностей удаленного управления (например, DRAC, iLo и RSA).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles и ExistingPageFiles
Если значение записи реестра файла подкачки управляется системой, размер не будет отражаться в реестре (пример значения: ?:\pagefile.sys).
Если файл подкачки настроен, размер будет отражен в реестре, например, ‘?:\pagefile.sys 1024 1124’, где 1024 – начальный размер, а 1124 – максимальный размер.
Если размер не отображается в реестре, попробуйте получить доступ к административной общей папке, где находится файл подкачки (например, \\ServerName\C$).
Убедитесь, что на системном диске компьютера есть файл подкачки (pagefile.sys) и его размер не менее 100 МБ в установленной оперативной памяти.
Убедитесь, что на жестких дисках компьютера свободного места больше, чем физической оперативной памяти.
Включите параметр реестра CrashOnCtrlScroll на компьютере, чтобы система могла создавать файл дампа с помощью клавиатуры. Для этого выполните следующие действия:
С удаленного компьютера, желательно в той же сети и подсети, выберите Редактор реестра > Подключить сетевой реестр. Подключитесь к соответствующему компьютеру и найдите следующие разделы реестра:
Создайте следующую запись реестра CrashOnCtrlScroll в двух разделах реестра:
Имя значения: CrashOnCtrlScroll
Тип данных: REG_DWORD
Значение: 1
Выйти из редактора реестра.
Перезагрузите компьютер.
Когда на компьютере возникает проблема, удерживайте нажатой правую клавишу CTRL и дважды нажмите клавишу Scroll Lock, чтобы создать дамп памяти.
По умолчанию файл дампа находится по пути: %SystemRoot%\MEMORY.DMP
Использовать монитор пула для сбора данных о физическом компьютере, который больше не завис
Монитор пула показывает количество выделений и невыполненных байтов распределения по типу пула и тегу, который передается при вызовах ExAllocatePoolWithTag.
Использовать дамп памяти для сбора данных для виртуальной машины, работающей в зависшем состоянии
Используйте один из следующих методов для приложения, в котором работает виртуальная машина.
Майкрософт Hyper-V
Если виртуальная машина работает под управлением Windows 8, Windows Server 2012 или более поздней версии Windows на Microsoft Hyper-V Server 2012, вы можете использовать встроенную функцию NMI с помощью командлета Debug-VM для отладки и получения дамп памяти.
Для отладки виртуальных машин в Hyper-V запустите следующий командлет в Windows PowerShell:
Этот метод применим только к Windows 8, Windows Server 2012 и более поздним версиям виртуальных машин Windows. Для более ранних версий Windows см. методы с 1 по 4, описанные ранее в этом разделе.
VMware
Вы можете использовать моментальные снимки VMware или состояние приостановки и извлечь файл дампа памяти, эквивалентный полному файлу дампа памяти. С помощью Checkpoint To Core Tool (vmss2core) можно преобразовать файлы состояния приостановки (.vmss) и моментальных снимков (.vmsn) в файл дампа, а затем проанализировать файл с помощью стандартных средств отладки Windows.
Citrix XenServer
Процесс дампа памяти выполняется нажатием комбинации клавиш RIGHT CTRL + SCROLL LOCK + SCROLL LOCK, как описано в способе 1 и на сайте Citrix.
Ограничение места на системном диске в Windows Server 2008
В Windows Server 2008 может не хватить свободного места на диске для создания полного файла дампа памяти на системном томе. Существует исправление, которое позволяет собирать данные, даже если на системном диске недостаточно места для хранения файла дампа памяти.
Кроме того, в Windows Server 2008 с пакетом обновления (SP2) есть второй вариант, если на системном диске недостаточно места. А именно, вы можете использовать запись реестра DedicatedDumpFile. Чтобы узнать, как использовать запись реестра, см. статью Новое поведение в Windows Vista и Windows Server 2008.
Обнаружение различных типов ошибок в программировании – важная часть процесса разработки. Лучшие разработчики легко ориентируются в ошибках, которые они создают, и быстро их исправляют.
Сегодня мы поговорим о семи наиболее распространенных типах ошибок программирования и о том, как их избежать.
1. Синтаксические ошибки
Как и человеческие языки, компьютерные языки имеют правила грамматики. Но в то время как люди могут общаться с далеко не совершенной грамматикой, компьютеры не могут игнорировать ошибки, т. е. синтаксические ошибки.
Например, предположим, что правильный синтаксис для вывода чего-либо — print('hello') , и мы случайно забыли одну из скобок при написании кода. Произойдет синтаксическая ошибка, и это остановит запуск программы.
По мере того, как ваш уровень владения языком программирования повышается, вы будете реже делать синтаксические ошибки. Самый простой способ не допустить, чтобы они вызывали у вас проблемы, — узнать о них заранее. Многие текстовые редакторы или IDE имеют возможность предупреждать вас о синтаксических ошибках во время написания.
Совет: пишите быстрее с TextExpander
TextExpander позволяет легко сохранять часто используемые фрагменты кода, комментарии к документации и многое другое, а затем вставлять их в любое место с помощью простого сочетания клавиш или встроенного поиска.
2. Логические ошибки
Логические ошибки сложнее всего отследить. Все выглядит так, как будто это работает; вы только что запрограммировали компьютер на неправильные действия. Технически программа правильная, но результаты будут не такими, как вы ожидали.
Если вы не проверили требования заранее и не написали код для возврата самого старого пользователя в вашей системе, когда вам нужен самый новый, у вас возникла бы логическая ошибка.
Известный случай произошел в 1999 году, когда НАСА потеряло космический корабль из-за просчетов между английскими и американскими подразделениями. Программное обеспечение было закодировано одним способом, но должно было работать по-другому.
При написании тестов покажите их менеджеру продукта или владельцу продукта, чтобы убедиться, что логика, которую вы собираетесь написать, верна. В приведенном выше примере кто-то, кто ближе к бизнесу, заметил бы, что вы не упомянули тот факт, что требуется самый новый пользователь.
3. Ошибки компиляции
Для некоторых языков программирования требуется этап компиляции. При компиляции ваш язык высокого уровня преобразуется в язык более низкого уровня, который компьютер может лучше понять. Ошибка компиляции или времени компиляции возникает, когда компилятор не знает, как превратить ваш код в код более низкого уровня.
В нашем примере синтаксической ошибки, если бы мы компилировали print('hello' , компилятор остановился бы и сообщил нам, что не знает, как преобразовать это в язык более низкого уровня, потому что он ожидал a ) после ' .
Если в вашем программном обеспечении возникнет ошибка во время компиляции, вы не сможете его протестировать или запустить.
Так же, как и синтаксические ошибки, со временем вы научитесь их избегать, но в целом лучшее, что вы можете сделать, – это своевременно получать обратную связь, когда это происходит.
Компиляция происходит одновременно для всех файлов вашего проекта. Если вы внесли много изменений и видите много предупреждений или ошибок компилятора, это может быть очень сложно. Часто запуская компилятор, вы быстрее получите необходимую обратную связь, и вам будет легче понять, где решать проблемы.
4. Ошибки выполнения
Ошибки выполнения возникают, когда пользователь выполняет вашу программу. Код может работать правильно на вашем компьютере, но на веб-сервере может быть другая конфигурация или с ним могут взаимодействовать таким образом, что это может вызвать ошибку во время выполнения.
Если ваша система взяла ввод из формы и попыталась сделать первую букву имени заглавной, выполнив что-то вроде params[:first_name].capitalize , это сломается, если форма будет отправлена без имени.
Ошибки во время выполнения особенно раздражают, поскольку они напрямую влияют на конечного пользователя. Многие из этих других ошибок случаются, когда вы работаете за компьютером над кодом. Эти ошибки возникают во время работы системы и могут помешать кому-либо выполнить то, что ему нужно.
Убедитесь, что у вас есть хорошие отчеты об ошибках, чтобы фиксировать любые ошибки во время выполнения и автоматически открывать новые ошибки в вашей системе тикетов. Старайтесь учиться на каждом отчете об ошибке, чтобы в будущем вы могли защититься от этого типа ошибок.
Использование фреймворков и кода, поддерживаемого сообществом, — отличный способ свести к минимуму эти типы ошибок, потому что код находится во многих разных проектах, поэтому он уже обнаружил и исправил множество проблем.
5. Арифметические ошибки
Арифметическая ошибка – это разновидность логической ошибки, но она связана с математикой. Типичным примером при выполнении уравнения деления является то, что вы не можете делить на ноль, не вызывая проблем. Очень немногие люди напишут 5 / 0, но вы можете и не подумать, что размер чего-то в вашей системе иногда может быть нулевым, что может привести к ошибке такого типа.
ages.max / ages.min могли возвращать ошибку, если ages.max или ages.min были равны нулю.
Арифметические ошибки могут вызывать логические ошибки, как мы обсуждали, или даже ошибки времени выполнения в случае деления на ноль.
Наличие функциональных тестов, которые всегда включают крайние случаи, такие как ноль или отрицательные числа, — отличный способ остановить эти арифметические ошибки.
6. Ошибки ресурсов
Компьютер, на котором установлена ваша программа, будет выделять фиксированное количество ресурсов для ее работы. Если что-то в вашем коде заставляет компьютер пытаться выделить больше ресурсов, чем у него есть, это может привести к ошибке ресурсов.
Если вы случайно написали цикл, из которого ваш код никогда не сможет выйти, у вас рано или поздно закончатся ресурсы.В этом примере цикл while будет продолжать добавлять новые элементы в массив. В конце концов у вас закончится память.
Ошибки, связанные с ресурсами, может быть трудно отследить, потому что машина, на которой вы разрабатываете, часто может быть более качественной, чем серверы, на которых выполняется ваш код. Также трудно имитировать реальное использование с вашего локального компьютера.
Хорошие отчеты об использовании ресурсов на ваших веб-серверах будут помечать код, который со временем потребляет слишком много ресурсов любого типа.
Ошибки ресурсов — это пример ошибки в программировании, которую может исправить операционная группа, а не разработчики.
Существует множество приложений и служб для нагрузочного тестирования, которые можно использовать для проверки того, что произойдет, когда несколько человек попытаются запустить ваш код одновременно. Затем вы можете настроить тестирование в соответствии с реалистичностью вашего приложения.
7. Ошибки интерфейса
Ошибки интерфейса возникают, когда существует несоответствие между тем, как вы хотели использовать свою программу, и тем, как она используется на самом деле. Большинство вещей в программном обеспечении соответствуют стандартам. Если входные данные, которые получает ваша программа, не соответствуют стандартам, вы можете получить ошибку интерфейса.
Например, ошибка интерфейса может произойти, если у вас есть API, требующий установки определенных параметров, а эти параметры не заданы.
Если ошибки интерфейса не обрабатываются должным образом, они будут выглядеть как ошибка на вашей стороне, когда это ошибка на стороне вызывающего абонента. Это может вызвать разочарование с обеих сторон.
Имея четкую документацию и отлавливая эти ошибки, чтобы передать их вызывающей стороне удобным способом, вы лучше всего скажете: "Эй, вы не предоставили нам то, что нам нужно для обработки этого запроса". Это поможет сократить расходы на поддержку и порадует ваших клиентов, потому что они знают, что им нужно исправить.
Если вы не отловите эти ошибки и не передадите их обратно вызывающей стороне, они в конечном итоге будут отображаться в отчетах как ошибки времени выполнения, и вы в конечном итоге будете чрезмерно защищаться от них.
Ошибки неизбежны
К счастью, мы уже давно не нуждаемся в правильном размещении перфокарт с первого раза. Разработка программного обеспечения сложна, требования часто размыты, а код часто меняется. Старайтесь не корить себя и знайте, что все мы совершаем ошибки.
Ошибки программирования неизбежны. Научитесь лучше замечать их на ранней стадии, но знайте, что вы никогда не будете идеальными.
Надеюсь, это руководство подготовило вас к различным типам ошибок в программировании и разъяснило некоторые наиболее распространенные сообщения об ошибках.
Если вы писали код в течение длительного времени, пожалуйста, прокомментируйте ниже некоторые ошибки, которые вы недавно допустили, чтобы успокоить людей, которые не писали код так долго!
Поскольку крупнейшие компьютерные сети продолжают расти, некоторые инженеры опасаются, что их самые маленькие компоненты могут оказаться ахиллесовой пятой.
Кредит. Том Ширлиц/Trunk Archive
Отправить историю любому другу
Как подписчик, у вас есть 10 подарочных статей каждый месяц. Любой может прочитать то, чем вы делитесь.
Отдать эту статью
Джон Маркофф пишет о Кремниевой долине более 40 лет и является автором пяти книг об индустрии высоких технологий.
Представьте на мгновение, что миллионы компьютерных микросхем внутри серверов, которые питают крупнейшие центры обработки данных в мире, имеют редкие, почти незаметные дефекты. И единственный способ найти недостатки — использовать эти чипы для решения гигантских вычислительных задач, которые были бы немыслимы всего десять лет назад.
Поскольку крошечные переключатели в компьютерных чипах уменьшились до размера нескольких атомов, надежность чипов стала еще одной проблемой для людей, управляющих крупнейшими сетями в мире. Такие компании, как Amazon, Facebook, Twitter и многие другие сайты, за последний год столкнулись с неожиданными сбоями.
Сбои вызваны несколькими причинами, такими как ошибки программирования и перегрузка в сетях. Но растет беспокойство по поводу того, что по мере того, как сети облачных вычислений становятся больше и сложнее, они по-прежнему зависят на самом базовом уровне от компьютерных чипов, которые сейчас менее надежны, а в некоторых случаях менее предсказуемы.
В прошлом году исследователи из Facebook и Google опубликовали исследования, в которых описывались сбои компьютерного оборудования, причины которых было непросто определить. Они утверждали, что проблема была не в программном обеспечении, а где-то в компьютерном оборудовании разных компаний. Google отказался комментировать свое исследование, а Facebook, теперь известный как Meta, не ответил на запросы о комментариях к своему исследованию.
"Они видят эти тихие ошибки, в основном исходящие из основного оборудования", – – говорит Субхасиш Митра, инженер-электрик из Стэнфордского университета, специализирующийся на тестировании компьютерного оборудования. По словам доктора Митра, люди все чаще считают, что производственные дефекты связаны с так называемыми скрытыми ошибками, которые нелегко обнаружить.
Центр обработки данных Facebook в Прайнвилле, штат Орегон. В крупных центрах обработки данных случались перебои в работе, которые частично могли быть вызваны ошибками микросхем. Кредит. Лия Нэш для The New York Times
Исследователи обеспокоены тем, что обнаруживают редкие дефекты, потому что пытаются решать все более и более серьезные вычислительные проблемы, что приводит к неожиданной нагрузке на их системы.
Компании, управляющие крупными центрами обработки данных, начали сообщать о систематических проблемах более десяти лет назад. В 2015 году в инженерном издании IEEE Spectrum группа ученых-компьютерщиков, изучающих надежность оборудования в Университете Торонто, сообщила, что каждый год до 4 % из миллионов компьютеров Google сталкивались с ошибками, которые не могли не были обнаружены, и это привело к их неожиданному закрытию.
В микропроцессоре с миллиардами транзисторов или плате памяти компьютера, состоящей из триллионов крошечных переключателей, каждый из которых может хранить 1 или 0, даже малейшая ошибка может нарушить работу систем, которые сейчас регулярно выполняют миллиарды вычислений в секунду.
В начале эры полупроводников инженеры беспокоились о том, что космические лучи могут время от времени переключать один транзистор и изменять результат вычислений. Теперь они обеспокоены тем, что сами коммутаторы становятся все менее надежными. Исследователи Facebook даже утверждают, что переключатели становятся все более подверженными износу и что срок службы компьютерной памяти или процессоров может быть короче, чем считалось ранее.
Появляется все больше свидетельств того, что проблема усугубляется с каждым новым поколением чипов. В отчете, опубликованном в 2020 году производителем микросхем Advanced Micro Devices, говорится, что самые совершенные микросхемы компьютерной памяти в то время были примерно в 5,5 раз менее надежными, чем предыдущее поколение. AMD не ответила на запросы о комментариях к отчету.
Отслеживание этих ошибок представляет собой сложную задачу, — говорит Дэвид Дитцель, опытный инженер по аппаратному обеспечению, председатель и основатель компании Esperanto Technologies, производителя процессоров нового типа, предназначенных для приложений искусственного интеллекта, в Маунтин-Вью, Калифорния. новый чип компании, который только выходит на рынок, состоит из 1000 процессоров, состоящих из 28 миллиардов транзисторов.
Он сравнивает чип с многоквартирным домом, который охватывает всю территорию Соединенных Штатов. Используя метафору г-на Дитцеля, д-р Митра сказал, что обнаружение новых ошибок немного похоже на поиск единственного работающего крана в одной из квартир в этом доме, который неисправен только тогда, когда горит свет в спальне и открыта дверь квартиры. р>
Центр обработки данных Google в Каунсил-Блаффс, штат Айова. Исследователи Google обнаружили, что процессорные ядра, по-видимому, вызывают ошибки только при определенных условиях. Кредит. Брайан Снайдер/Reuters
До сих пор разработчики компьютеров пытались бороться с аппаратными недостатками, добавляя в микросхемы специальные схемы, которые исправляют ошибки. Схемы автоматически обнаруживают и исправляют неверные данные. Когда-то это считалось чрезвычайно редкой проблемой. Но несколько лет назад производственные группы Google начали сообщать об ошибках, которые было безумно трудно диагностировать. Согласно их отчету, ошибки в расчетах возникали время от времени, и их было трудно воспроизвести.
Группа исследователей попыталась отследить проблему и в прошлом году опубликовала свои выводы. Они пришли к выводу, что огромные центры обработки данных компании, состоящие из компьютерных систем, основанных на миллионах процессорных «ядер», столкнулись с новыми ошибками, которые, вероятно, были вызваны комбинацией нескольких факторов: более мелкие транзисторы, которые приближались к физическим пределам, и неадекватное тестирование. р>
В своей статье «Ядра, которые не учитываются» исследователи Google отметили, что проблема была достаточно сложной, и они уже посвятили ее решению несколько десятилетий инженерного времени.
Современные процессорные чипы состоят из десятков процессорных ядер, вычислительных механизмов, которые позволяют разбивать задачи и решать их параллельно. Исследователи обнаружили, что крошечное подмножество ядер давало неточные результаты нечасто и только при определенных условиях. Они описали поведение как спорадическое.В некоторых случаях ядра выдавали ошибки только при изменении скорости вычислений или температуры.
По данным Google, усложнение конструкции процессора было одной из важных причин сбоев. Но инженеры также сказали, что меньшие по размеру транзисторы, трехмерные чипы и новые конструкции, которые создают ошибки только в определенных случаях, — все это усугубило проблему.
В аналогичной статье, опубликованной в прошлом году, группа исследователей Facebook отметила, что некоторые процессоры выдерживают испытания производителей, но затем начинают показывать сбои в полевых условиях.
Эксперты говорят, что срок службы процессоров может быть короче, чем считалось ранее, что может быть одним из факторов, способствующих ошибкам в расчетах. Кредит. Йошиказу Цуно/Agence France-Presse — Getty Images
Руководители Intel заявили, что знакомы с исследовательскими документами Google и Facebook и работают с обеими компаниями над разработкой новых методов обнаружения и исправления аппаратных ошибок.
Брайан Йоргенсен, вице-президент группы платформ данных Intel, сказал, что утверждения, сделанные исследователями, были правильными и что «задача, которую они бросают отрасли, является правильным решением».
Он сказал, что Intel недавно начала проект по созданию стандартного программного обеспечения с открытым исходным кодом для операторов центров обработки данных. Программное обеспечение позволит им находить и исправлять аппаратные ошибки, которые не обнаруживаются встроенными в микросхемы схемами.
В прошлом году проблема обострилась, когда несколько клиентов Intel незаметно выпустили предупреждения о необнаруженных ошибках, созданных их системами. Lenovo, крупнейший в мире производитель персональных компьютеров, проинформировала своих клиентов о том, что конструктивные изменения в нескольких поколениях процессоров Intel Xeon означают, что эти чипы могут генерировать большее количество ошибок, которые невозможно исправить, чем более ранние микропроцессоры Intel.
Компания Intel публично не говорила об этой проблеме, но г-н Йоргенсен признал наличие проблемы и сказал, что она устранена. С тех пор компания изменила свой дизайн.
Компьютерные инженеры расходятся во мнениях относительно того, как реагировать на вызов. Одним из широко распространенных ответов является спрос на новые виды программного обеспечения, которые активно отслеживают аппаратные ошибки и позволяют системным операторам удалять оборудование, когда оно начинает деградировать. Это создало возможности для новых стартапов, предлагающих программное обеспечение, которое отслеживает работоспособность базовых микросхем в центрах обработки данных.
Одним из таких предприятий является TidalScale, компания из Лос-Гатоса, Калифорния, которая производит специализированное программное обеспечение для компаний, стремящихся свести к минимуму простои оборудования. Его исполнительный директор Гэри Смердон предположил, что TidalScale и другие компании столкнулись с серьезной проблемой.
"Это будет немного похоже на замену двигателя, пока самолет еще летит", – сказал он.
Как обычный пользователь, вы можете встревожиться, увидев системную ошибку, появляющуюся на вашем компьютере (или других устройствах). Но вам не стоит слишком беспокоиться, так как не все системные ошибки вызовут серьезные проблемы; большинство из них можно исправить. В этом посте я покажу вам, что такое системная ошибка и каковы ее распространенные причины.
Ошибку легко обнаружить, когда вы что-то делаете на своем компьютере (например, просматриваете видео или просматриваете веб-страницу). Если на вашем компьютере возникает системная ошибка, это, очевидно, указывает на то, что ваша система столкнулась с проблемой. Возможно настройки системы не правильные; возможно, ваша система страдает от внезапного сбоя; может быть… Какой бы ни была причина, вы должны найти эффективное решение, верно?
Вы можете перейти на домашнюю страницу и получить подходящий инструмент для восстановления полезных данных и попытаться устранить проблему.
Что такое системная ошибка
Под системной ошибкой понимается инструкция, которая не может быть распознана операционной системой или противоречит процедурным правилам.
Код системной ошибки — это точный номер ошибки, по которому можно отследить подробности. Иногда после номера вы найдете короткое сообщение об ошибке, описывающее возникшую ошибку.
Неустранимая системная ошибка (также известная как системный сбой или ошибка остановки) возникает, когда ваша операционная система останавливается. Что-то пошло не так, и ваша система не может успешно загрузиться в этот момент. Такая ошибка часто приводит к BSOD (синему экрану смерти).
К вашему сведению: ошибка управления памятью – распространенная ошибка BSOD.
Ошибка управления памятью Windows часто возникает на синем экране компьютера по разным причинам.
Коды системных ошибок важны для разработчиков программного обеспечения
Коды ошибок Windows можно рассматривать как список симптомов проблемной системы. Код ошибки используется специально для описания проблемы, связанной с программным или аппаратным обеспечением системы. Глядя на код системной ошибки, разработчики программного обеспечения могут понять, что именно происходит, и в ответ дать разумные решения по ее устранению.
Коды системных ошибок – это предопределенные коды ошибок и сообщения об ошибках. они являются частью интерфейса программирования с операционными системами. Разработчики программного обеспечения могут немедленно информировать пользователей о возникновении проблемы, используя коды ошибок Windows для определенного программного обеспечения.
Примечание. Предустановленные коды системных ошибок используются не во всех используемых вами программах. Для некоторых программ они имеют уникальные наборы номеров ошибок и сообщений об ошибках; если они вам непонятны, вам следует перейти на официальный сайт или в руководство, чтобы узнать точное значение определенных ошибок.
5 распространенных причин системных ошибок
Существуют тысячи причин, которые могут привести к появлению кода ошибки Windows. Здесь я перечислю только 5 наиболее распространенных причин для вас.
Первое: ошибка в коде.
Абсолютно верно, что в мире нет ничего идеального. Таким образом, вы можете легко столкнуться с ошибкой в драйвере устройства, в приложении или в операционной системе. Простое и обычное исправление ошибки в коде — это обновление системы/программы/драйвера до последней версии.
Второе: повреждены или отсутствуют системные файлы.
Существует бесчисленное множество системных файлов, и не все из них используются постоянно, что затрудняет их отслеживание. Но вы должны знать, что всякий раз, когда используется поврежденный системный файл, возникает ошибка; когда система оставит его в покое, все будет в порядке.
Как исправить, если системные файлы повреждены/отсутствуют:
Проблемы на вашем компьютере появятся, если системные файлы отсутствуют или повреждены, поэтому я хотел бы научить вас, как восстанавливать системные файлы.
Три: мертвый или неисправный жесткий диск.
Жесткие диски, как механические устройства, могут со временем изнашиваться; это нормальное явление. Все жесткие диски в конце концов выйдут из строя; это всего лишь вопрос времени. Когда ваш диск начинает выходить из строя или выходит из строя, будут возникать различные ошибки (например, щелчки или перезагрузка). В этом случае вам следует как можно скорее удалить данные с щелкающего жесткого диска!
Если вы не уверены, что ваш жесткий диск неисправен, прочитайте эту страницу:
Многие пользователи спрашивают, не работает ли мой жесткий диск. они столкнулись с некоторыми сообщениями об ошибках, но не знают их причин.
Четвертое: плохая память.
Память также является электронным устройством, включая такие компоненты, как конденсаторы и транзисторы. Внутри памяти есть чувствительные электронные компоненты, поэтому вы можете легко ее разрушить. Если области памяти внутри модуля памяти изменяются и становятся неверными, адрес памяти будет неправильным, что приведет к появлению BSOD.
Пять: перегретое оборудование.
Компоненты внутри вашей системы, такие как ЦП, жесткий диск и материнская плата, выделяют много тепла. Все эти компоненты снабжены статическим зарядом для притягивания пыли из воздуха. Но пыль — изолятор; это будет сдерживать поток тепла, вызывая перегрев. Если одно из аппаратных средств перегревается, оно не будет работать должным образом. В этом случае следует регулярно проверять вентилятор и при необходимости заменять его новым.
Это все, что я хочу рассказать о системной ошибке.
ОБ АВТОРЕ
Должность: обозреватель
Сара работает редактором в MiniTool с тех пор, как окончила университет. Сара стремится помочь пользователям с их компьютерными проблемами, такими как ошибки диска и потеря данных. Она испытывает чувство выполненного долга, видя, что пользователи решают свои проблемы, полагаясь на ее статьи. Кроме того, она любит заводить друзей и слушать музыку после работы.
Читайте также: