“Повреждение памяти обнаруживается в низкой памяти” сообщения ядра?

Несколько других являются Спокойным Читателем и AZARDI. Lucidor был другим, но остановленная разработка и веб-сайт снижается (хотя можно все еще найти debs, например, здесь). По-моему, AZARDI является лучшим из них.

Обновление: Lucidor, кажется, вернулся в разработке, и ее веб-сайт назад онлайн.

6
13.04.2017, 15:36
3 ответа

Я сомневаюсь, что это - на самом деле повреждение памяти, скорее процесс не приостанавливается правильно, когда Ваша система приостанавливает/возобновляет или проблема с самим ядром.

С этой целью я нашел эту ошибку ядра, которая кажется, что могла возможно быть связана: Ошибка 61781 - повреждение памяти Пространства пользователя после suspemd к RAM - Разделенный пополам к: 1c441e9 "epoll: используйте замораживаемый вызов блокирования".

Существует патч, который был разработан, таким образом, я удостоверюсь, что Ваше ядро включало, сказал патч.

3
27.01.2020, 20:27
  • 1
    @illuminÉ - да я просто ищу, ведет, это походило на вероятный, но обмен сбивал с толку. –  slm♦ 01.02.2014, 07:18
  • 2
    , Это был хороший вывод, и он позволил мне улаживать вещи. Таким образом, кажется, что у меня уже есть патч, и все же имеют проблему. Возможно, просто материал прежней версии и несохраняемая BIOS... Еще раз спасибо! исправление –   02.02.2014, 05:53
  • 3
    @illuminÉ - Если бы Вы получаете шанс, я хотел бы вырыть глубже, можно ли отправить спецификации аппаратной системы? Просто модель # Вашей системы, если это возможно. Я думал, что Вы использовали систему ThinkPad, были Вы нет? –  slm♦ 02.02.2014, 07:40
  • 4
    @illuminÉ - любопытный, почему Вы приостанавливаете/возобновляете этот рабочий стол затем? Не решает проблему, но просто удивление. –  slm♦ 02.02.2014, 07:53
  • 5
    @illuminÉ - lol, я знал, почему Вы будете использовать, приостанавливают, я имел в виду, почему даже потрудились приостанавливать, просто имеют его работающий все время, w/умирающая экранная заставка, и затем очищающий экран после промежутка времени. Можно ли выполнить этот cmd? sudo lshw -C system. У меня есть более старая core2duo система, но я никогда не потрудился приостанавливать ее. Не уверенный это даже работает 8-). –  slm♦ 02.02.2014, 07:59

По умолчанию ядро Linux резервирует нижние 64K системной памяти для BIOS и неоднократно сканирует эту часть памяти на предмет неожиданных изменений. Если процесс фонового сканирования замечает, что память была неожиданно изменена (повреждена), он отправляет в журнал ядра что-то вроде

Corrupted low memory at <virtual address> (<address> phys) = <memory contents after corruption>
...
Memory corruption detected in low memory
...
Hardware name: <BIOS info>

где виртуальный адрес - это виртуальный адрес, указывающий на поврежденную память. Это может быть практически что угодно, и если вы не знаете, что какая-то другая программа использует этот адрес, вы можете смело игнорировать это. Физический адрес - вот что интересно. Пока этот адрес (всегда выводится в шестнадцатеричном формате) меньше 64K (2^16 байт), вы будете в порядке, а сообщение на самом деле пытается сказать

Производитель материнской платы некомпетентен, и BIOS системы записывает в низкую область памяти (0-64K физической памяти) без резервирования этой области с помощью таблиц памяти ACPI. Не волнуйтесь, Linux ядро ожидало этой ошибки и не хранило там ничего важного. Если ваш BIOS когда-нибудь будет исправлен, вы сможете использовать последние 64K вашей реальной оперативной памяти. Однако, вероятно, вам придется перекомпилировать ядро, чтобы отключить ожидание того, что BIOS имеет эту ошибку.

Разработчики ядра пытались собрать список известных плохих версий BIOS и отключить использование последних 64K оперативной памяти только в том случае, если BIOS был известен с ошибкой. На практике оказалось, что производители BIOS настолько некомпетентны, что разумнее было бы создать список известных хороших версий BIOS. Этот список будет намного короче. В долгосрочной перспективе будет гораздо проще просто объявить самые низкие 64К памяти всегда плохими и игнорировать весь этот беспорядок. Это приведет к потере 64K оперативной памяти для всех i386/amd64 совместимых linux компьютеров, но позволит разработчикам потратить свое время на что-то более продуктивное.

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

memmap=64K$0 memory_corruption_check=0

Флаг memmap резервирует 64K оперативной памяти по физическому адресу 0 (начало физической оперативной памяти), а флаг memory_corruption_check отключает фоновое сканирование на наличие повреждений.

Если в вашей системе произошло неожиданное повреждение оперативной памяти и вы подозреваете BIOS, добавление memmap=1024K$0 зарезервирует 1 МБ в начале физической оперативной памяти из ядра Linux. По слухам, Windows 10 будет делать это по умолчанию, поэтому я не удивлюсь, если будущие версии BIOS будут повреждать весь первый 1 МБ, если это повреждение не вызовет никаких проблем при использовании Windows 10.

4
27.01.2020, 20:27

Далее следует альтернативный ответ на эту memory corruption detected in low memoryтему. В моем случае эффективной причиной был проприетарныйбольшой двоичный объект драйвера , который больше не полностью совместим с обновленным ядром Linux.

Такие большие двоичные объекты драйверов используются различными поставщиками, такими как Broadcom, которые не поддерживают драйверы -с открытым исходным кодом.

Мне просто пришлось удалить проприетарный драйвер, перезагрузить и установить его снова .

В Kubuntu (и Ubuntu )это можно сделать очень просто в разделе «Управление драйверами» в «Системных настройках». Это запустит «источники программного обеспечения», где большими двоичными объектами драйверов можно управлять в разделе «дополнительные драйверы». Он автоматически выберет совместимый с ядром большой двоичный объект драйвера (из Интернета )и установит его. Обратите внимание, что при замене драйвера WiFi необходимо проводное подключение через локальную сеть. В противном случае установка завершится ошибкой, так как доступ в Интернет невозможен. ; -)Software Sources (Kubuntu)

0
09.04.2021, 17:03

Теги

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