Acpi off что это
Перейти к содержимому

Acpi off что это

Что означают разные варианты загрузки? (т.е. acpi=off, noapic, nolapic и т. д.)

У меня были проблемы с установкой 11.04 на мой новый ноутбук, решение было включить любой из этих вариантов загрузки:

  • acpi=off
  • noapic
  • nolapic

Но что на самом деле делают эти опции?

Какие проблемы существуют для их разрешения?
то есть могут ли они вызывать проблемы с оборудованием (например, вентиляторы не работают, вызывая перегрев системы).

2 ответа

В общем, такие параметры загрузки не нужны, если только нет проблемы с вашим BIOS и его обработкой этих стандартов, или он может быть достаточно старым, если эти стандарты не были полностью реализованы должным образом.

ACPI (расширенная конфигурация и интерфейс питания) является стандартом для управления питанием. Старые системы могут не поддерживать полный ACPI, поэтому иногда это помогает дать подсказке ядру не использовать его. «ACPI = OFF»

APIC (усовершенствованный программируемый контроллер прерываний) — это своего рода функция, используемая в более новых системах. «Локальная» версия называется «LAPIC». Этот контроллер может быть настроен на генерацию и обработку прерываний, сигнала, который аппаратное обеспечение использует для передачи сообщений. Опять же, у некоторых реализаций APIC могут быть проблемы в более старой системе, поэтому полезно их отключить. «ноапик» и «нолапик».

Иногда APIC работает, но он замедляет работу, передавая сообщения. Это может мешать обработке аудио и видео, например. Люди могут отключить его и по этой причине.

Я думаю, что это не проблема для аппаратного обеспечения, поскольку отключение этих функций на самом деле не отключает их, а устанавливает, кто их реализует — «выключено» в BIOS означает, что это будет ядро.

что на самом деле влияет на охлаждающие вентиляторы, я думаю, что это «noapm» или «apm=off» (расширенное управление питанием), но отключение этого означает, что охлаждающие вентиляторы будут работать на полной скорости все время, так как «продвинутая» часть фактически замедляет их когда система достаточно остынет

установить эти вещи постоянно, записав их в файл grub в /etc/default (обычно) и после этого перестроив grub с помощью ‘update-grub’ или ‘grub-mkconfig’ (иногда может понадобиться grub2 вместо grub) в зависимости от система

как правило, это звучит так: «чем меньше ноутбук, тем больше вероятность, что он понадобится и их будет больше»;)

Прерывания от внешних устройств в системе x86. Часть 2. Опции загрузки ядра Linux

В предыдущей части мы рассмотрели эволюцию доставки прерываний от устройств в x86 системах (PIC → APIC → MSI), общую теорию и все необходимые термины.

В этой практической части мы рассмотрим как откатиться к использованию устаревших методов доставки прерываний в Linux, а именно рассмотрим опции загрузки ядра:

  • pci=nomsi
  • noapic
  • nolapic
  • pci=noacpi
  • acpi=noirq
  • acpi=off

Загрузка без дополнительных опций

Смотреть прерывания в данной статье мы будем на кастомной плате с Intel Haswell i7 с чипсетом lynxPoint-LP на которой запущен coreboot.

Информацию о прерываниях мы будем выводить через команду

Вывод при загрузке без дополнительных опций:

Файл /proc/interrupts предоставляет таблицу о количестве прерываний на каждом из процессоров в следующем виде:

  • Первая колонка: номер прерывания
  • Колонки CPUx: счётчики прерываний на каждом из процессоров
  • Следующая колонка: вид прерывания:
    • IO-APIC-edge — прерывание по фронту на контроллер I/O APIC
    • IO-APIC-fasteoi — прерывание по уровню на контроллер I/O APIC
    • PCI-MSI-edge — MSI прерывание
    • XT-PIC-XT-PIC — прерывание на PIC контроллер (увидим позже)

    Упрощённо схему роутинга прерываний можно нарисовать так (красным помечены активные пути, чёрным неиспользуемые).

    Поддержка MSI/MSI-X устройством должна быть обозначена как соответствующая Capability в его конфигурационном пространстве PCI.

    В подтверждении приведём небольшой фрагмент вывода lspci для устройств, для которых обозначено, что они используют MSI/MSI-X. В нашем случае это SATA контроллер (прерывание ahci), 2 ethernet контроллера (прерывания eth58* и eth59*), графический контроллер (i915) и 2 контроллера HD Audio (snd_hda_intel).

    Как мы видим, у этих устройств присутствует строка либо «MSI: Enable+», либо «MSI-X: Enable+»

    Начнём деградировать систему. Для начала загрузимся с опцией pci=nomsi.

    pci=nomsi

    Благодаря этой опции MSI прерывания станут IO-APIC/XT-PIC в зависимости от используемого контроллера прерываний

    В данном случае у нас всё ещё приоритетный контроллер прерываний APIC, так что картина будет такая:

    Все прерывания MSI/MSI-X ожидаемо исчезли. Вместо них устройства теперь используют прерывания вида IO-APIC-fasteoi.

    Обратим внимание на то, что раньше до включения этой опции у eth58 и eth59 было по 9 прерываний! А сейчас только по одному. Ведь как мы помним, без MSI одной функции PCI доступно только одно прерывание!

    Немного информации из dmesg по инициализации ethernet контроллеров:

    — загрузка без опции pci=nomsi:

    — загрузка с опцией pci=nomsi

    Из-за уменьшения количества прерываний на устройство, включение данной опции может приводить к существенному ограничению производительности работы драйвера (это без учёта того, что согласно исследованию Intel Reducing Interrupt Latency Through the Use of Message Signaled Interrupts прерывания через MSI в 3 раза быстрее чем через IO-APIC и в 5 раз быстрее чем через PIC).

    noapic

    Данная опция отключает I/O APIC. MSI прерывания всё ещё могут идти на все CPU, но прерывания от устройств смогут идти только на CPU0, так как PIC связан только с CPU0. Но LAPIC работает и другие CPU могут работать и обрабатывать прерывания.

    Как видим, все прерывания IO-APIC-* превратились в XT-PIC-XT-PIC, причём эти прерывания роутятся только на CPU0. Прерывания MSI остались без изменений и идут на все CPU0-3.

    nolapic

    Отключает LAPIC. MSI прерывания не могут работать без LAPIC, I/O APIC не может работать без LAPIC. Поэтому все прерывания от устройств будут идти на PIC, а он работает только с CPU0. И без LAPIC остальные CPU даже работать в системе не будут.

    Комбинации:

    На самом деле всего одна для нового варианта: «noapic pci=nomsi». Все прерывания от устройств смогут идти только на CPU0 через PIC. Но LAPIC работает и другие CPU могут работать и обрабатывать прерывания.

    Одна, потому что с «nolapic» можно ничего не комбинировать, т.к. эта опция и так сделает недоступным I/O APIC и MSI. Так что если вы когда-то прописывали опции загрузки «noapic nolapic» (или самый распространённый вариант «acpi=off noapic nolapic»), то судя по всему вы набирали лишние буквы.

    Итак, что будет от опций «noapic pci=nomsi»:

    Таблицы роутинга прерываний и опции «acpi=noirq», «pci=noacpi», «acpi=off»

    Как операционная система получает информацию о роутинге прерываний от устройств? BIOS подготавливает информацию для ОС в виде:

    • ACPI таблиц (методы _PIC/_PRT)
    • _MP_ таблицы (MPtable)
    • $PIR таблицы
    • Регистров 0x3C/0x3D конфигурационного пространства PCI устройств

    Таблицы в списке выше обозначены в порядке приоритета. Рассмотрим это подробней.

    Допустим BIOS предоставил все эти данные и мы грузимся без каких-либо дополнительных опций:

    • ОС находит таблицы ACPI
    • ОС выполняет метод ACPI «_PIC», передаёт ему аргумент, что нужно грузиться в режиме APIC. Тут код метода обычно сохраняет выбранный режим в переменной (допустим PICM=1)
    • Для получения данных о прерываниях ОС вызывает метод ACPI «_PRT». Он внутри себя проверяет переменную PICM и возвращает роутинг для APIC случая
    • ОС находит таблицы ACPI
    • ОС выполняет метод ACPI «_PIC», передаёт ему аргумент, что нужно грузиться в режиме PIC. Тут код метода обычно сохраняет выбранный режим в переменной (допустим PICM=0)
    • Для получения данных о прерываниях ОС вызывает метод ACPI «_PRT». Он внутри себя проверяет переменную PICM и возвращает роутинг для PIC случая
    • ОС не находит/не смотрит таблицы ACPI
    • ОС находит таблицу MPtable (_MP_)
    • ОС не находит/не смотрит таблицу ACPI
    • ОС не находит/не смотрит таблицу MPtable (_MP_)
    • ОС находит таблицу $PIR

    Суммируем всё вышеизложенное следующей картинкой:

    Следует помнить, что не каждый BIOS предоставляет все 3 таблицы (ACPI/MPtable/$PIR), так что если вы передали опцию загрузчику отказаться от использования ACPI или ACPI и MPtable для роутинга прерываний, далеко не факт, что ваша система загрузится.

    Замечание 1: в случае если мы попытаемся загрузиться в режиме APIC с опцией acpi=noirq и без наличия MPtable, то картина прерываний будет как и в случае обычной загрузки с единственной опцией noapic. Операционная система сама перейдёт в режим PIC прерываний.
    В случае если мы попытаемся загрузиться вообще без таблиц ACPI (acpi=off) и не предоставив MPtable, то картина будет такая:

    Это проиcходит из-за того, что без ACPI таблицы MADT (Multiple APIC Description Table) и необходимой информации из MPtable, операционная система не знает APIC идентификаторы (APIC ID) для других процессоров и не может с ними работать, но LAPIC основного процессора работает, так как мы это не запрещали, и MSI прерывания могут на него приходить. То есть будет так:

    Замечание 2: в целом роутинг прерываний при использовании ACPI в случае APIC совпадает с роутингом прерываний через MPtable. А роутинг прерываний через ACPI в случае использования PIC совпадает с роутингом прерываний через $PIR. Так что и выводы /proc/interrupts отличаться не должны. Однако в процессе исследований заметил одну странность. При роутинге через MPtable в выводе почему-то присутствует каскадное прерывание «XT-PIC-XT-PIC cascade».

    Немного странно, что так происходит, но в документации ядра вроде говорится, что это нормально.

    Как отключить режим ACPI в BIOS?

    Если вы не можете получить обновленную BIOS или последняя версия BIOS, предоставленная вашим поставщиком, не совместима с ACPI, вы можете отключить режим ACPI во время настройки текстового режима. Для этого просто нажмите клавишу F7, когда вам будет предложено установить драйверы хранилища.

    Стоит ли отключать ACPI?

    ACPI всегда должен быть включен и установлен на самую последнюю поддерживаемую версию. Отключение его никак не поможет разгону.

    Как изменить настройки ACPI в BIOS?

    Чтобы включить режим ACPI в настройках BIOS, выполните следующие действия:

    1. Войдите в программу настройки BIOS.
    2. Найдите и войдите в пункт меню настроек управления питанием.
    3. Используйте соответствующие клавиши, чтобы включить режим ACPI.
    4. Сохраните и выйдите из программы настройки BIOS.

    Как исправить ошибку ACPI BIOS?

    Как я могу исправить ошибку BSOD ACPI_BIOS_ERROR?

    1. Используйте сторонний фиксатор BSoD. …
    2. Удалите SSD и обновите BIOS. …
    3. Войдите в BIOS и отключите AHCI. …
    4. Обновите свои драйверы. .
    5. Установите режим ACPI на S1 в BIOS. …
    6. Отключите перемычку JPME1 и перепрошите BIOS. …
    7. Удалите драйвер, совместимый с Microsoft ACPI. …
    8. Установите Windows 10 в режиме UEFI.

    Как отключить ASUS ACPI в BIOS?

    Вы можете отключить acpi в разделе управления питанием в BIOS. Обычно он находится в верхней строке, и вы просто нажимаете Enter и меняете с включения на отключение. Когда вы это сделаете, Windows переконфигурирует вашу операционную систему, и вам, возможно, придется перезагрузить некоторые драйверы.

    Что делает ACPI off?

    Использование acpi = off временно отключает расширенную конфигурацию и интерфейс питания при загрузке Ubuntu. Если вам нужно добавить acpi = off для успешной загрузки ubuntu, это означает, что ACPI на вашем компьютере несовместим с этой версией ubuntu.

    Что такое режим ACPI?

    ACPI (Advanced Configuration and Power Interface) — это отраслевая спецификация для эффективного управления энергопотреблением настольных и мобильных компьютеров. … Компьютер может перейти в режим ожидания, когда его никто не использует, но с включенным модемом для приема входящих факсов. Устройства можно подключать и играть.

    Как изменить настройки питания в BIOS?

    1. Включите компьютер и нажмите «DEL», «F1», «F2» или «F10», чтобы войти в программу настройки BIOS (CMOS). …
    2. В меню BIOS найдите в меню «Advanced», «ACPI» или «Power Management Setup» * параметр «Restore on AC / Power Loss», «AC Power Recovery» или «After Power Loss».

    Как мне узнать, включен ли мой ACPI?

    1. Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства» в контекстном меню.
    2. Выберите вкладку «Оборудование».
    3. Нажмите кнопку «Диспетчер устройств».
    4. Разверните объект «Компьютер».
    5. Будет показан его тип, возможно, «Стандартный ПК» (если он говорит (ПК с расширенным интерфейсом конфигурации и питания (ACPI), значит, ACPI уже включен)

    Поддерживает ли UEFI ACPI?

    После загрузки Windows она не использует BIOS. UEFI — это замена старого, неприглядного BIOS для ПК. … Итак, говоря очень упрощенно, UEFI обеспечивает поддержку загрузчика ОС, а ACPI используется главным образом диспетчером ввода-вывода и драйверами устройств для обнаружения и настройки устройств.

    Как исправить ошибку BIOS?

    Исправление ошибок 0x7B при запуске

    1. Выключите компьютер и перезапустите его.
    2. Запустите программу установки прошивки BIOS или UEFI.
    3. Измените настройку SATA на правильное значение.
    4. Сохраните настройки и перезагрузите компьютер.
    5. При появлении запроса выберите «Обычный запуск Windows».

    Как исправить настройки BIOS?

    Как сбросить настройки BIOS на ПК с Windows

    1. Перейдите на вкладку «Настройки» в меню «Пуск», щелкнув значок шестеренки.
    2. Щелкните параметр «Обновление и безопасность» и выберите «Восстановление» на левой боковой панели.
    3. Вы должны увидеть параметр «Перезагрузить сейчас» под заголовком «Расширенная настройка». Щелкните его, когда будете готовы.

    Как исправить, что BIOS не загружается?

    Как исправить сбой загрузки системы после ошибочного обновления BIOS за 6 шагов:

    1. Сбросьте CMOS.
    2. Попробуйте загрузиться в безопасном режиме.
    3. Настроить настройки BIOS.
    4. Снова перепрограммируйте BIOS.
    5. Переустановите систему.
    6. Замените материнскую плату.

    Что такое настройки ACPI в BIOS?

    ACPI (Advanced Configuration and Power Interface) — это параметр питания в системе двоичного ввода-вывода (BIOS) вашего компьютера, который необходим, если вы используете в своей компьютерной системе какие-либо ACPI-совместимые устройства. … Нажмите кнопку входа в BIOS, указанную в сообщениях о запуске системы.

    Что такое ошибка BIOS?

    1 | Ошибка BIOS — не удалось разогнать

    Ваша система была физически перемещена. Ваша батарея CMOS выходит из строя. В вашей системе проблемы с питанием. Разгон вашей оперативной памяти или процессора (мы не разгоняем наши компоненты). Добавление нового неисправного устройства.

    Нужен ли мне ACPI?

    4 ответа. ACPI требуется для управления питанием, чтобы снизить потребление электроэнергии и износ компонентов системы. … Таким образом, у вас есть варианты — иметь управление питанием или нет, и, поскольку вы всегда можете просто не использовать его (отключите параметры в апплете панели управления питанием), вы также можете включить его в BIOS.

Добавить комментарий

Ваш адрес email не будет опубликован.