проблемы с таймаутом nvme на новом ноутбуке Intel 7-155H – ядро 6.5 OEM

Вопрос или проблема

У меня новый ноутбук с процессором Intel 7-155H и NVMe SSD. Я использую Linux Mint 21.3 и сталкиваюсь с проблемами хранения данных. При первоначальной установке вся система работала очень медленно. Я обновился до ядра 6.5.0-1023-oem, и ситуация значительно улучшилась. Однако, каждый раз, когда я делаю умеренное количество операций чтения/записи, вся система зависает, за исключением курсора мыши, примерно на минуту. Вывод dmesg показывает несколько сообщений, таких как:

nvme nvme0: I/O 97 QID 1 timeout, completion polled

Как я могу определить первопричину этой проблемы и решить ее?

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

В интернете можно найти сообщения, в которых предлагается установить nvme.poll_queues на высокое число (до 64), но это на самом деле вызовет ошибку на некоторых ядрах как недопустимая опция. Наивысшее значение, которое мне удалось установить, — 16; в то время как 20 будет принято, система не сможет найти диск во время шага расшифровки LUKS. Я предполагаю, что 20 – это максимальное количество поддерживаемых очередей, поэтому нет доступных очередей для обработки обычных запросов чтения, если они все заняты опросом.

Использование общепринятого nvme.poll_queues=4 не дает значительных результатов, потому что система все равно зависает на 30 секунд каждый раз, когда добавляется элемент в очередь. Использование очередей в сочетании с очень коротким тайм-аутом дало отзывчивую систему, где в лучшем случае я наблюдаю зависание на 1 секунду при копировании больших файлов. Пока что я не заметил негативных последствий от этого.

Вот моя текущая конфигурация GRUB:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=0 nvme.poll_queues=4 nvme_core.io_timeout=1"

Я только что купил Acer Swift Go с одним из этих процессоров u7-155h (WD sn740 nvme) и столкнулся с той же проблемой.

Я установил последнюю версию BIOS (1.14), что решило проблему. Таймауты исчезли. Скачайте драйвер IRST и установите ОС на базе MS-DOS, чтобы прошить микропрограмму 🙁

Ответ или решение

Проблемы с тайм-аутами NVMe на новом ноутбуке Intel 7-155H с ядром 6.5 OEM: решение и устранение причин

Недавние сообщения пользователей о проблемах с производительностью и тайм-аутами NVMe на ноутбуках с процессором Intel 7-155H, особенно при использовании Linux Mint 21.3, привлекают внимание IT-экспертов. Это может вызывать значительные неудобства, особенно когда система тормозит или зависает во время операций чтения и записи. Рассмотрим детали проблемы и возможные решения.

Проблема с производительностью

В вашем случае первая установка системы была связана с медленной работой, но обновление до ядра 6.5.0-1023-oem значительно улучшило ситуацию. Однако, всё ещё наблюдаются случаи зависания системы на длительные промежутки времени при осуществлении входно-выходных операций, с сообщениями об ошибках, указывающими на тайм-ауты NVMe. Сообщения вида:

nvme nvme0: I/O 97 QID 1 timeout, completion polled

подтверждают наличие проблем с обработкой запросов.

Устранение корневой причины

  1. Настройки NVMe: Одним из решений, которое вы могли обнаружить, является изменение параметров ядра, касающихся управления NVMe. Обратите внимание на параметр nvme.poll_queues. Установка этого параметра на более высокое значение может вызвать ошибки на определённых ядрах, и, как вы правильно отметили, чрезмерное использование всех доступных очередей может повлиять на работу системы.

  2. Настройка GRUB: Ваша текущая настройка GRUB, включающая nvme_core.io_timeout=1 и nvme.poll_queues=4, выглядит целесообразно, хотя и временно решает проблему. Установленный тайм-аут в 1 секунду сокращает длительность зависаний, что делает систему более отзывчивой.

    Пример:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=0 nvme.poll_queues=4 nvme_core.io_timeout=1"
  3. Обновление BIOS: Самое современное решение, которое вы упомянули — обновление BIOS до версии 1.14, которое помогло улучшить работу NVMe. Это важно, так как многие проблемы совместимости могут быть решены на уровне микропрограммы. Убедитесь, что установленное вами обновление BIOS — последнее.

  4. Обновление драйверов: Установка драйвера IRST, как вы упомянули, также может помочь. Если вы используете его, а также работаете с ОС на основе MS-DOS для перепрошивки, то это подтверждает, что грядущие обновления и драйвера могут иметь значительное влияние на работу SSD.

Заключение

Если ваши текущие решения приносят временное облегчение, важно продолжать следить за обновлениями и рекомендациями от разработчиков ядра и BIOS. Это позволит обеспечить долгосрочную стабильность и улучшение производительности вашего устройства. Тщательно тестируйте каждое изменение и следите за сообщениями в dmesg для выявления потенциальных новых проблем.

Рекомендации:

  • Следите за обновлениями ядра и рекомендуемыми стабильными версиями.
  • Обновляйте прошивку вашего NVMe-накопителя и BIOS.
  • Регулярно проверяйте совместимость используемых вами драйверов и системных настроек.

Тем не менее, вы не одиноки в этой проблеме, и сообщество пользователей Linux активно делится решениями и находит новые подходы.

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

Капча загружается...