Не удается найти файл sdram_scrub_rate

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

Я недавно купил X670E Pro RS и добавил к нему память ECC. Теперь я хотел включить очистку памяти, однако, когда я смотрю в /sys/devices/system/edac/mc/mc0/, sdram_scrub_rate отсутствует. Я не могу найти ответ, почему, в интернете. Я изменил ECC с авто на включено, просто чтобы принудительно его включить. lsmod | fgrep edac показывает:

amd64_edac             69632  0
edac_mce_amd          40960  1 amd64_edac

Что правильно, не так ли(?).

Мне не хватает драйвера или, возможно, я упустил, что edac-utils необходим.

Почему отсутствует sdram_scrub_rate — это вопрос.

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

Это может означать либо то, что контроллер памяти (в случае процессоров AMD Zen4/5 встроен в ваш процессор) не поддерживает это, либо просто что это не реализовано драйвером. (Ваша материнская плата совершенно не имеет значения — контроллер памяти является частью процессора на практически любом современном ПК.)

Однако вы используете драйвер amd64_edac, и при условии, что у вас устройство семейства процессоров 0x1a, это должно установить эти функции (здесь).

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

Извините, что не смог помочь больше — если вы уже используете ядро серии 6.x.y, вам нужно будет перекомпилировать ваше ядро, вероятно, с опцией ядра CONFIG_EDAC_DEBUG, чтобы иметь возможность увидеть, что доступно и где.

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

Отсутствие файла sdram_scrub_rate в системе вызывает закономерный вопрос, особенно при добавлении новой аппаратуры, такой как X670E Pro RS с модулями памяти с функцией ECC (Error-Correcting Code). Давайте проведём детальный анализ проблемы.

Теоретическая основа

Память с коррекцией ошибок (ECC) и скраббинг памяти:

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

EDAC (Error Detection and Correction):

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

Пример

Вы установили модули памяти ECC и ожидаете, что функционал памяти будет доступен через файловую систему sysfs, в частности, через путь /sys/devices/system/edac/mc/mc0/. Вы обнаружили отсутствие файла конфигурации sdram_scrub_rate, что ожидается использовать для управления скоростью скраббинга памяти. Дополнительно вы убедились в корректной загрузке модулей драйверов amd64_edac и edac_mce_amd.

Применение

Диагностика проблемы:

  1. Проверка версии ядра:
    Убедитесь, что используемая версия ядра поддерживает ваше оборудование. Поскольку драйверы EDAC могут иметь различия в зависимости от версии ядра, возможно, необходимо обновление до более новой версии ядра. Современные возможности драйвера для AMD могут быть реализованы в последних выпусках линейки 6.x, поэтому рекомендуется обновить ядро.

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

  3. Проверка драйверов:
    Попробуйте рекомпилировать и установить последнюю версию драйверов EDAC с опцией CONFIG_EDAC_DEBUG, чтобы получить более подробную отладочную информацию о том, что именно поддерживается и какие функции драйвер предоставляет.

  4. Документация оборудования:
    Обратитесь к технической документации X670E Pro RS и процессора Zen4/5 для уточнения поддержки конкретных функций, таких как скраббинг памяти, поскольку такие функции могут быть заложены на уровне архитектуры.

Потенциальные действия:

  • Обновление ядра:
    Если ваша система использует устаревшее ядро, обновление до последней версии может решить проблему. Совместимость оборудования часто расширяется в более новых выпусках ядра.

  • Рекомпиляция драйвера:
    Скомпилируйте драйвера с включением отладочных опций, чтобы получить более детальную информацию о работе драйверов и поддерживаемых функциях.

  • Консультация с производителями:
    В случае если проблема сохраняется, рекомендуется связаться с производителями оборудования и процессора для получения технической поддержки.

  • Альтернативные утилиты:
    Возможности скраббинга памяти могут быть реализованы через сторонние утилиты или более специализированные функции самого оборудования, если они доступны.

Подводя итог, отсутствие файла sdram_scrub_rate может быть связано с несколькими факторами, начиная от конфигурации BIOS и заканчивая версией ядра. Тщательное изучение каждой из указанных сторон должно помочь в диагностике и устранении проблемы.

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

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