Что означает зависание процессора № 0?

Я попытался загрузить живой диск Ubuntu 12.04 на свой компьютер XP, и он продолжает повторять «CPU # 0 застрял на x секунд». Может кто-нибудь помочь мне?

4
задан 8 January 2014 в 00:51

2 ответа

В ядре Linux есть процесс, который контролирует каждый процессор в системе.

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

Почему или как может происходить программная блокировка процессора? Как заблокировать процессор, если ядро ​​тщательно планирует доступ к процессору? По сути, любой плохо написанный код, который многократно или многократно повторяется, будет иметь процессор и получит некоторый приоритет. Это может быть проблема программирования или стороннего программного обеспечения.

Проблемы с блокировкой в ​​драйверах. Даже ошибки ядра в важных драйверах или планировщике. Планировщик может указать расписание запуска подпрограммы драйвера, и если этот драйвер имеет проблемы и не проверяет его, эта подпрограмма драйвера может долго владеть или загружать этот ЦП. По определению, как описано выше, сторожевой таймер поймает это и выдаст предупреждение мягкой блокировки.

Мягкие блокировки в основном приводят к зависанию процессора и, возможно, вашей системы временно.

Обновление ядра может решить проблему. Чтобы обновить ядро, просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:

для 32-битной системы:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100-generic_3.11.0-031100.201309021735_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100_3.11.0-031100.201309021735_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-image-3.11.0-031100-generic_3.11.0-031100.201309021735_i386.deb

для 64-битной системы:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100-generic_3.11.0-031100.201309021735_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100_3.11.0-031100.201309021735_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-image-3.11.0-031100-generic_3.11.0-031100.201309021735_amd64.deb

Для обоих 32-битный & amp; 64-битная, запустите приведенную ниже команду для их установки:

sudo dpkg -i linux-headers-3.11.0*.deb linux-image-3.11.0*.deb

После установки перезагрузите компьютер!

Если у вас возникли проблемы с этим ядром, выполните команду ниже, чтобы удалить его:

sudo apt-get purge linux-image-3.11.0*

Источники: Ядро Linux & amp; Как обновить версию ядра

0
ответ дан 8 January 2014 в 00:51

Не используйте версию LTS, используйте последнюю версию:

Ubuntu 15.04

Ядро обновлено до последней версии, и это не даст вам ошибок.

0
ответ дан 8 January 2014 в 00:51

Другие вопросы по тегам:

Похожие вопросы: