RU EN

Исключение диапазонов памяти из использования ядром OpenBSD

 

Для тестирования памяти в OpenBSD можно воспользоваться утилитой memtester. Если были выявлены ошибки, как временное решение, можно попытаться исключить диапазоны "битой" памяти из использования ядром. Сделать это можно с помощью файла /etc/boot.conf и опции machine memory.

Пример ошибки:

  Solid Bits          : testing  18FAILURE: 0xffffffffffff0f0f != 0xffffffffffffffff at offset 0x022e8100.
FAILURE: 0xffffffffffff0f0f != 0xffffffffffffffff at offset 0x022e8110.
FAILURE: 0xffffffffffff0f0f != 0xffffffffffffffff at offset 0x022e8120.
FAILURE: 0xffffffffffff0f0f != 0xffffffffffffffff at offset 0x022e8130.

Из ошибки видно, что диапазон адресов 0x022e8100 - 0x022e8130 не проходит тест. Добавляем в /etc/boot.conf строку:

machine memory -0x100@0x022e8100

Синтаксис команды:

machine memory [+-]<size>@address
size[KMG]

Где size - размер (оффсет) диапазона, а address - начальный адрес диапазона. В примере выше из памяти доступной для ядра был исключен диапазон 4k начиная с адреса 0x022e8100. 4k - потому что 0x100 это 16^3 = 4096 байт.

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


Янчарук А.В.
18.09.2021 08:49


Оставить комментарий


Имя  


Комментарий *