Сегодня я заметил, что /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
Нужно ли делать то, что он говорит? Как бы я?
MTRR расшифровывается как регистры диапазона типа памяти, которые являются новым способом разделения и управления ресурсами памяти в вашей системе. Эта функция была добавлена в процессоры из-за увеличения и увеличения объема памяти. Должен существовать способ, которым память могла бы быть распределена по адресу и использоваться более эффективно.
Основной функцией MTRR является отображение местоположений компонентов PCI или AGP в вашей системе, чтобы программное обеспечение, драйверы могли получить к ним быстрый и эффективный доступ.
blockquote>(из 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 Earth, работают значительно лучше частоты кадров.
blockquote>, который меня очень интересует ... нужно проверить
dmesg
на всех моих машинах.
Согласно [База знаний 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 - (требуемая подписка)