Открыть сервисСервис

Зависание компьютера и программ

Зависание — состояние вычислительной системы или отдельной программы, при котором она перестаёт реагировать на команды пользователя и внешние события, не завершая при этом свою работу штатно. В отличие от аварийного завершения (краха), при зависании процесс или устройство формально остаются активными, но перестают выполнять полезные действия: интерфейс не откликается на нажатия клавиш и движения мыши, окна не перерисовываются, задачи не продвигаются. Зависание относится к классу отказов в работе программного и аппаратного обеспечения и является одной из наиболее частых причин потери несохранённых данных.

Общая характеристика

С точки зрения пользователя зависание проявляется как «замороженный» экран или окно, курсор, который не двигается либо двигается, но ни на что не влияет, отсутствие реакции на горячие клавиши. С точки зрения системы различают несколько механизмов:

  • Бесконечный цикл или взаимная блокировка. Программа ожидает ресурс, который никогда не освободится (например, из-за ошибки в многопоточном коде), и не может продолжить работу.
  • Перегрузка. Число задач или объём данных превышают вычислительные возможности процессора, памяти или диска, и время отклика становится неприемлемо большим.
  • Ожидание внешнего устройства. Система ждёт ответа от диска, сети или периферии, который не приходит.
  • Аппаратный сбой. Перегрев, неисправность памяти, блока питания или накопителя приводят к остановке вычислений.

Полное зависание всей системы называют «зависанием системы» или «фризом» (от англ. freeze), зависание отдельного приложения — «зависанием программы». Кратковременную потерю отзывчивости иногда называют «подтормаживанием» или «лагами».

Причины

Причины зависаний делят на программные и аппаратные.

Программные причины включают ошибки в коде (необработанные исключения, утечки памяти, гонки данных), несовместимость версий библиотек и драйверов, повреждение файлов операционной системы, конфликты антивируса с другими приложениями, а также вредоносное программное обеспечение. Значительная часть зависаний связана с драйверами видеокарт и накопителей.

Аппаратные причины — перегрев процессора или видеокарты из-за запылённости и отказа вентиляторов, деградация жёсткого диска и появление «битых» секторов, неисправность модулей оперативной памяти, недостаточная мощность блока питания, плохой контакт в разъёмах. Отдельно выделяют зависания при разгоне компонентов, когда система работает на границе устойчивости.

Диагностика

Для выявления причин применяют встроенные и сторонние средства.

В Windows используют «Диспетчер задач» для оценки загрузки процессора, памяти и диска, «Просмотр событий» для анализа системных журналов, «Монитор ресурсов». В Linux применяют утилиты top, htop, dmesg, journalctl, а также анализ системных вызовов через strace. Для проверки оборудования служат тесты памяти (MemTest86), диагностика накопителей (SMART), мониторинг температур (HWMonitor, lm-sensors) и стресс-тесты (Prime95, FurMark).

Типичные признаки указывают на источник: зависание под нагрузкой чаще связано с перегревом или питанием, зависание при запуске конкретной программы — с её кодом или драйверами, внезапные «синие экраны» — с памятью или драйверами.

Способы устранения

Универсального решения не существует; действуют по источнику проблемы.

СимптомВероятная причинаДействие
Зависание под нагрузкойПерегревЧистка от пыли, замена термопасты
Зависание при запуске игрыДрайвер видеокартыОбновление или откат драйвера
Постепенное замедлениеУтечка памятиОбновление программы, перезапуск
Случайные фризыНакопительПроверка SMART, замена диска
Зависание после обновленияКонфликт ПООткат обновления

К базовым мерам относят обновление драйверов и системы, проверку на вирусы, отключение автозагрузки лишних программ, увеличение объёма оперативной памяти, обеспечение достаточного охлаждения. При зависании отдельного приложения помогает принудительное завершение процесса; при зависании всей системы — перезагрузка кнопкой питания, что чревато потерей данных и повреждением файловой системы.

Профилактика

Снижение риска зависаний достигается регулярным обслуживанием: очисткой системы охлаждения, контролем температур, своевременным обновлением драйверов и операционной системы, использованием источников бесперебойного питания, резервным копированием важных данных. Для серверов применяют мониторинг и автоматический перезапуск служб, а также «сторожевые таймеры» (watchdog), которые перезагружают систему при потере отзывчивости.

Зависание в переносном смысле

Слово «зависает» употребляется и вне техники — для описания задержки, остановки в работе, в разговоре или в переносном значении «задерживаться где-либо». В молодёжном сленге «зависать» означает проводить время в каком-либо месте или за каким-либо занятием. Такое употребление не связано с техническим значением термина, хотя и происходит от него.

См. также

Смежные понятия — крах программы, синий экран смерти, утечка памяти, взаимная блокировка, отказоустойчивость, перезагрузка.

Источники: техническая документация Microsoft по диагностике производительности; руководства по администрированию Linux; материалы по аппаратной диагностике ПК; справочные статьи по терминологии вычислительной техники.

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru