Как и почему я должен указать mtrr_gran_size / mtrr_chunk_size?

8

Сегодня я заметил, что в нем /var/log/dmesgсодержится несколько десятков строк с информацией о том, что называется, gran_sizeи *BAD*gran_size, за которым следует инструкция, которая выглядит для меня:

[    0.000000] mtrr_cleanup: can not find optimal value
[    0.000000] please specify mtrr_gran_size/mtrr_chunk_size

Нужно ли делать то, что он говорит? Как бы я?

ændrük
источник

Ответы:

5

MTRR расшифровывается как регистры диапазона типа памяти, что является новым способом разделения и управления ресурсами памяти в вашей системе. Эта функция была добавлена ​​в процессоры из-за увеличения и увеличения объема памяти. Должен существовать способ, которым память могла бы быть распределена по адресу и использоваться более эффективно.

Главной особенностью MTRR является отображение местоположения компонентов PCI или AGP в вашей системе, чтобы программное обеспечение, драйверы могли получить к ним быстрый и эффективный доступ.

(из Gentoo Wiki )

После прочтения Решения проблем linux MTRR появляется сообщение об ошибке, которую вы видите, когда mtrr sanitizer не может выбрать один из нескольких вариантов размещения памяти. Следует напечатать список возможных вариантов рядом с сообщением об ошибке. Чтобы сообщение исчезло, нужно указать что-то вроде

enable_mtrr_cleanup mtrr_spare_reg_nr=1 mtrr_gran_size=32M mtrr_chunk_size=128M

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

Автор статьи утверждает, что

Теперь 24 МБ оперативной памяти исчезли, но мои рабочие нагрузки 3d, которые в основном состоят из контента webgl и скрытого симулятора полета в Google Планета Земля, работают и со значительно лучшей частотой кадров.

что меня очень интересует ... нужно проверить dmesgна всех моих машинах.

Сергей
источник
0

Согласно [базе знаний Redhat] [1] для RHEL6, обновленной в январе 2017 года, «пожалуйста, укажите mtrr_gran_size / mtrr_chunk_size» означает:

  • Эти сообщения не являются проблемой и являются просто предупреждениями. Их можно игнорировать.
  • Добавление disable_mtrr_cleanup disable_mtrr_trim к параметрам ядра в /boot/grub/grub.conf отключит путь к коду, который инициирует эти ошибки, и может предотвратить их появление в системе.

Я, конечно, знаю, что Redhat не Ubuntu, но в целом они используют одно и то же ядро, поэтому я был бы очень удивлен, если это не то же самое для Ubuntu. Этот ответ предлагается в качестве «второго мнения».

[1]: https://access.redhat.com/solutions/2852191 - (требуется подписка)

RCD
источник