Как сообщить ubuntu не использовать определенные адреса памяти?

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

0
задан 26 April 2017 в 00:56

3 ответа

Если вы посмотрите в /etc/default/grub, вы найдете параметр GRUB_BADRAM=, где вы можете определить, какие плохие ячейки памяти есть.

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

Взято из https://help.ubuntu.com/community/BadRAM#BADRAM_setting_in_Grub2 ...

Настройка BADRAM в Grub2

Конфигурационный файл GRUB2 в Natty имеет строку для настройки явного плохого ram исключения. Итак, я предполагаю, что это предпочтительный способ отображения раздела памяти, в котором отображаются ошибки. Строка, которую я установил, была

GRUB_BADRAM="0x7DDF0000,0xffffc000" 

. Предлагаемый способ на каждом веб-сайте, который я мог найти, заключался в том, чтобы установить это, чтобы запустить memtest86 и показать ему настройки BadRAM. memtest86 дал мне страницу, которую мне пришлось бы вводить. Я мог видеть, что все адреса были в одном блоке 16K, поэтому я просто хотел отобразить этот блок 16K из строя. Вот как я создал правильную запись.

Первый параметр прост. Это базовый адрес плохой памяти. В моем случае я мог видеть, что все плохие адреса были больше 0x7DDF0000 и меньше 0x7DDF4000. Итак, я взял начало 16K-блока в качестве начального адреса.

Второй параметр - это маска. Вы помещаете 1 с, где диапазон адресов, который вы хотите, имеет те же значения и 0, где он будет отличаться. Это означает, что вам нужно выбрать свой диапазон адресов, чтобы менялись только младшие разряды. Глядя на мой адрес, первая часть маски проста. Вы хотите начать с 0xffff. Для следующего полубайта я объясню бит-карты. Я хочу варьироваться от 0000 до 0011. Таким образом, маска для badram будет 1100 или шестнадцатеричной c. Последние 3 nibbles должны быть все 0s в маске, так как мы хотим, чтобы весь диапазон был отображен. Итак, мы получаем итоговый результат 0xffffc000.

После установки этой строки в / etc / default / grub я запустил sudo update-grub и перезагрузился, и моя плохая память больше не использовалась. Никаких патчей ядра не требуется для отображения плохой памяти с использованием этого метода.

Конечно, лучшим планом действий было бы заменить неисправное ОЗУ.

2
ответ дан 22 May 2018 в 23:13
  • 1
    Спасибо, это сработало очень хорошо. Это устранило проблему. – j3d1H 26 May 2017 в 01:34

Если вы посмотрите в /etc/default/grub, вы найдете параметр GRUB_BADRAM=, где вы можете определить, какие плохие ячейки памяти есть.

# Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

Взято из https://help.ubuntu.com/community/BadRAM#BADRAM_setting_in_Grub2 ...

Настройка BADRAM в Grub2

Конфигурационный файл GRUB2 в Natty имеет строку для настройки явного плохого ram исключения. Итак, я предполагаю, что это предпочтительный способ отображения раздела памяти, в котором отображаются ошибки. Строка, которую я установил, была

GRUB_BADRAM="0x7DDF0000,0xffffc000"

. Предлагаемый способ на каждом веб-сайте, который я мог найти, заключался в том, чтобы установить это, чтобы запустить memtest86 и показать ему настройки BadRAM. memtest86 дал мне страницу, которую мне пришлось бы вводить. Я мог видеть, что все адреса были в одном блоке 16K, поэтому я просто хотел отобразить этот блок 16K из строя. Вот как я создал правильную запись.

Первый параметр прост. Это базовый адрес плохой памяти. В моем случае я мог видеть, что все плохие адреса были больше 0x7DDF0000 и меньше 0x7DDF4000. Итак, я взял начало 16K-блока в качестве начального адреса.

Второй параметр - это маска. Вы помещаете 1 с, где диапазон адресов, который вы хотите, имеет те же значения и 0, где он будет отличаться. Это означает, что вам нужно выбрать свой диапазон адресов, чтобы менялись только младшие разряды. Глядя на мой адрес, первая часть маски проста. Вы хотите начать с 0xffff. Для следующего полубайта я объясню бит-карты. Я хочу варьироваться от 0000 до 0011. Таким образом, маска для badram будет 1100 или шестнадцатеричной c. Последние 3 nibbles должны быть все 0s в маске, так как мы хотим, чтобы весь диапазон был отображен. Итак, мы получаем итоговый результат 0xffffc000.

После установки этой строки в / etc / default / grub я запустил sudo update-grub и перезагрузился, и моя плохая память больше не использовалась. Никаких патчей ядра не требуется для отображения плохой памяти с использованием этого метода.

Конечно, лучшим планом действий было бы заменить неисправное ОЗУ.

2
ответ дан 18 July 2018 в 14:16

Если вы посмотрите в /etc/default/grub, вы найдете параметр GRUB_BADRAM=, где вы можете определить, какие плохие ячейки памяти есть.

# Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

Взято из https://help.ubuntu.com/community/BadRAM#BADRAM_setting_in_Grub2 ...

Настройка BADRAM в Grub2

Конфигурационный файл GRUB2 в Natty имеет строку для настройки явного плохого ram исключения. Итак, я предполагаю, что это предпочтительный способ отображения раздела памяти, в котором отображаются ошибки. Строка, которую я установил, была

GRUB_BADRAM="0x7DDF0000,0xffffc000"

. Предлагаемый способ на каждом веб-сайте, который я мог найти, заключался в том, чтобы установить это, чтобы запустить memtest86 и показать ему настройки BadRAM. memtest86 дал мне страницу, которую мне пришлось бы вводить. Я мог видеть, что все адреса были в одном блоке 16K, поэтому я просто хотел отобразить этот блок 16K из строя. Вот как я создал правильную запись.

Первый параметр прост. Это базовый адрес плохой памяти. В моем случае я мог видеть, что все плохие адреса были больше 0x7DDF0000 и меньше 0x7DDF4000. Итак, я взял начало 16K-блока в качестве начального адреса.

Второй параметр - это маска. Вы помещаете 1 с, где диапазон адресов, который вы хотите, имеет те же значения и 0, где он будет отличаться. Это означает, что вам нужно выбрать свой диапазон адресов, чтобы менялись только младшие разряды. Глядя на мой адрес, первая часть маски проста. Вы хотите начать с 0xffff. Для следующего полубайта я объясню бит-карты. Я хочу варьироваться от 0000 до 0011. Таким образом, маска для badram будет 1100 или шестнадцатеричной c. Последние 3 nibbles должны быть все 0s в маске, так как мы хотим, чтобы весь диапазон был отображен. Итак, мы получаем итоговый результат 0xffffc000.

После установки этой строки в / etc / default / grub я запустил sudo update-grub и перезагрузился, и моя плохая память больше не использовалась. Никаких патчей ядра не требуется для отображения плохой памяти с использованием этого метода.

Конечно, лучшим планом действий было бы заменить неисправное ОЗУ.

2
ответ дан 24 July 2018 в 20:21

Другие вопросы по тегам:

Похожие вопросы: