Ошибки памяти с Ubuntu, но не с MemTest86 +

Я получил некоторые ошибки btrfs и ext4. После принятия решения о проверке моей оперативной памяти я получил следующие повторяющиеся ошибки с memtester. Я всегда получаю подобные ошибки после некоторого запуска memtester. Обычно через час, но это заняло 4-5 часов за один раз.

ОЗУ моего компьютера припаяно. Я получил дополнительный пустой слот. В BIOS нет настроек для отключения встроенного ОЗУ.

Я побежал:

Memtest86 + за 8 проходов (~ 8 часов) MemTest86 за 18 проходов (~ 9 часов) memtester и stressapptest на Fedora 27 по умолчанию, установлен на USB-накопителе (~ 10 часов) memtester и stressapptest на Ubuntu 17.10 Live default (~ 2 часа) memtester и stressapptest на Ubuntu 17.10 на USB-накопителе (~ 8 часов) # debsums --changed файл был образ темы.

Они не печатали никаких ошибок.

Я использую Ubuntu 17.10 (обновлено с 17.04) с ядром по умолчанию. Ядро не испорчено. Это ноутбук ASUS с Intel Haswell i3.

Memtest86 + за 8 проходов (~ 8 часов) Также протестирован с чистым пакетом intel-microcode.

Ошибка воспроизводима, либо Nouveau отключен, либо не установлен, никакие драйверы nvidia не загружены.

В черный список вошли следующие модули: mtd intel_spi_platform intel_spi, потому что они не загружаются по умолчанию Fedora 27, и они, похоже, кирпичные ноутбуки Lenova. Ошибка

uname -a

Linux hostname 4.13.0-19-generic #22-Ubuntu SMP Mon Dec 4 11:58:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Выход # lsmod

кажется

Выход Fedora 27's # lsmod

https://paste.ubuntu.com/26226473/

Текущая ситуация

Я поместил свой жесткий диск в ноутбук (резервный ноутбук), который, как я знаю, хорош и провел тесты там. Я получил ошибки. Теперь я уверен, что это проблема с программным обеспечением. Я никогда не мог запускать ошибки на своем ноутбуке со свежим Ubuntu или с Fedora, пробывшим много часов.

Что мне делать?

I ' ve ran:

Loop 6: Stuck Address : ok Random Value : ok Compare XOR : ok Compare SUB : ok Compare MUL : ok Compare DIV : ok Compare OR : ok Compare AND : ok Sequential Increment: ok Solid Bits : ok Block Sequential : ok Checkerboard : ok Bit Spread : ok Bit Flip : testing 262 FAILURE: 0x00000000 != 0xfffffffeffffffff at offset 0x0ef94000. FAILURE: 0x00000000 != 0x100000000 at offset 0x0ef94008. FAILURE: 0x00000000 != 0xfffffffeffffffff at offset 0x0ef94010. FAILURE: 0x00000000 != 0x100000000 at offset 0x0ef94018. FAILURE: 0x00000000 != 0xfffffffeffffffff at offset 0x0ef94020. FAILURE: 0x00000000 != 0x100000000 at offset 0x0ef94028. FAILURE: 0x00000000 != 0xfffffffeffffffff at offset 0x0ef94030. FAILURE: 0x00000000 != 0x100000000 at offset 0x0ef94038. Walking Ones : ok Walking Zeroes : ok 8-bit Writes : ok 16-bit Writes : ok

Похожая ошибка с обеими слотами RAM заполнена:

Loop 1: Stuck Address : ok Random Value : ok Compare XOR : ok Compare SUB : ok Compare MUL : ok Compare DIV : ok Compare OR : ok Compare AND : ok Sequential Increment: ok Solid Bits : ok Block Sequential : ok Checkerboard : ok Bit Spread : testing 4 FAILURE: 0x00000000 != 0x00000050 at offset 0x7da80000. FAILURE: 0x00000000 != 0xffffffffffffffaf at offset 0x7da80008. FAILURE: 0x00000000 != 0x00000050 at offset 0x7da80010. FAILURE: 0x00000000 != 0xffffffffffffffaf at offset 0x7da80018. FAILURE: 0x00000000 != 0x00000050 at offset 0x7da80020. FAILURE: 0x00000000 != 0xffffffffffffffaf at offset 0x7da80028. FAILURE: 0x00000000 != 0x00000050 at offset 0x7da80030. FAILURE: 0x00000000 != 0xffffffffffffffaf at offset 0x7da80038. Bit Flip : setting 141

Ошибка stressapptest:

Report Error: miscompare : DIMM Unknown : 1 : 157s Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e000(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a Report Error: miscompare : DIMM Unknown : 1 : 157s Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e008(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a Report Error: miscompare : DIMM Unknown : 1 : 157s Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e010(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a Report Error: miscompare : DIMM Unknown : 1 : 157s Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e018(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a Report Error: miscompare : DIMM Unknown : 1 : 157s Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e020(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a Report Error: miscompare : DIMM Unknown : 1 : 157s Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e028(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a Report Error: miscompare : DIMM Unknown : 1 : 157s Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e030(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a Report Error: miscompare : DIMM Unknown : 1 : 157s Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e038(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a

Я подозреваю, что конфигурация Ubuntu в сочетании с оборудованием моего ноутбука виновата в этих ошибках. Почти каждый раз в пакетах по восемь.

Неважная, слабо связанная информация ниже

О ошибках btrfs; Я использовал 17.04. Я спросил в btrfs irc. Мне сказали, что это может быть аппаратная ошибка или как-то ошибка управления памятью. Часть страницы метаданных btrfs заполнена нулями, как и сейчас. Я пропустил memtester всего несколько проходов, переключился на ext4 и поместил вину на двоичный драйвер nvidia.

Команды и их параметры, которые я использую:

# stressapptest -M 10000 -s 1800

10000 - это доступную память, которую я могу проверить. Я получаю его через free -m -s` секунды.

# memtester 4096

Процессор ноутбука имеет 2 ядра, поэтому я обычно запускаю два экземпляра. 4096 - это половина текущей доступной памяти через free -m

8
задан 13 January 2018 в 16:29

2 ответа

Удаленный ответ был близок

Ответ был удален на этом Q & amp; A:

Вы уже пытались переустановить ubuntu, потому что это звучит как ошибка управления памятью уровня ОС [ ! d2]

Мой ответ аналогичен тому, что касается очень низкого уровня управления памятью; KASLR на уровне ядра.

Что делает KASLR

KASLR означает KASLR рандомизация адресного пространства в пространстве. Я никогда не слышал, чтобы это произносилось вслух, но, на мой взгляд, я произношу это «Casler». Думайте дружелюбный призрак в машине. KASLR - это мера безопасности, позволяющая рандомизировать, какие модули ядра хранятся в памяти. Теория - это ядро, сложнее взломать, когда вы не можете полагаться на тот же бит кода, который всегда находится в одном и том же месте памяти.

Операция KASLR может рассматриваться как противоположная тестерам памяти, которые повторяют чтение и пишите в те же ячейки памяти, что и NO CHANGES. Это были противоположности, это привлекло меня (заметили идиому), чтобы выполнить поиск Google по ошибкам KASLR и памяти. Один, в частности, по-видимому, не имеющий отношения к делу, может заслужить сообщение о github, связывающем этот Q & amp; A. Причина в том, что они думают, что они единственные, которые происходят из-за смещения адресов памяти (если я правильно их читаю). Первые три хита из A , к которым я не хочу ссылаться, потому что их сайты являются частичными сообщениями, чтобы попасть в поисковые роботы Google, а затем они заставляют вас платить за чтение.

Известны проблемы, когда KASLR загружает «материал» ядра в середину карты памяти, которую он не должен делать. К сожалению, я не могу вспомнить ссылку, которую я нашел на прошлой неделе, чтобы включить в этот ответ. У этой ссылки был патч / обходной путь для того, чтобы KASLR не использовал определенные ячейки памяти.

После подтверждения известных проблем с KASLR и местами памяти я прокомментировал этот вопрос, чтобы отключить его KASLR и повторить тесты памяти. Ответ был заявлен как успешный, поэтому я отправляю этот ответ.

Как отключить KASLR

Хотя я использовал параметр командной строки grub kernel «kaslr» для через пару лет он стал стандартным ядром ядра, по крайней мере, с версией 4.12. Чтобы исключить KASLR из загрузки, используйте edit /etc/default/grub и измените эту строку:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nokaslr"

У вас могут быть другие варианты, кроме «тихих» и «всплесков». Важным шагом является добавление «nokaslr» и оставление других вариантов.

Затем сохраните файл и запустите:

sudo update-grub

Конечно, другой способ отключения KASLR - это просто используйте старшее ядро ​​как 4.4.0 под Ubuntu 16.04.1, когда KASLR не включался автоматически.

1
ответ дан 18 July 2018 в 01:47

Удаленный ответ был близок

Ответ был удален на этом Q & amp; A:

Вы уже пытались переустановить ubuntu, потому что это звучит как ошибка управления памятью уровня ОС [ ! d2]

Мой ответ аналогичен тому, что касается очень низкого уровня управления памятью; KASLR на уровне ядра.

Что делает KASLR

KASLR означает KASLR рандомизация адресного пространства в пространстве. Я никогда не слышал, чтобы это произносилось вслух, но, на мой взгляд, я произношу это «Casler». Думайте дружелюбный призрак в машине. KASLR - это мера безопасности, позволяющая рандомизировать, какие модули ядра хранятся в памяти. Теория - это ядро, сложнее взломать, когда вы не можете полагаться на тот же бит кода, который всегда находится в одном и том же месте памяти.

Операция KASLR может рассматриваться как противоположная тестерам памяти, которые повторяют чтение и пишите в те же ячейки памяти, что и NO CHANGES. Это были противоположности, это привлекло меня (заметили идиому), чтобы выполнить поиск Google по ошибкам KASLR и памяти. Один, в частности, по-видимому, не имеющий отношения к делу, может заслужить сообщение о github, связывающем этот Q & amp; A. Причина в том, что они думают, что они единственные, которые происходят из-за смещения адресов памяти (если я правильно их читаю). Первые три хита из A , к которым я не хочу ссылаться, потому что их сайты являются частичными сообщениями, чтобы попасть в поисковые роботы Google, а затем они заставляют вас платить за чтение.

Известны проблемы, когда KASLR загружает «материал» ядра в середину карты памяти, которую он не должен делать. К сожалению, я не могу вспомнить ссылку, которую я нашел на прошлой неделе, чтобы включить в этот ответ. У этой ссылки был патч / обходной путь для того, чтобы KASLR не использовал определенные ячейки памяти.

После подтверждения известных проблем с KASLR и местами памяти я прокомментировал этот вопрос, чтобы отключить его KASLR и повторить тесты памяти. Ответ был заявлен как успешный, поэтому я отправляю этот ответ.

Как отключить KASLR

Хотя я использовал параметр командной строки grub kernel «kaslr» для через пару лет он стал стандартным ядром ядра, по крайней мере, с версией 4.12. Чтобы исключить KASLR из загрузки, используйте edit /etc/default/grub и измените эту строку:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nokaslr"

У вас могут быть другие варианты, кроме «тихих» и «всплесков». Важным шагом является добавление «nokaslr» и оставление других вариантов.

Затем сохраните файл и запустите:

sudo update-grub

Конечно, другой способ отключения KASLR - это просто используйте старшее ядро ​​как 4.4.0 под Ubuntu 16.04.1, когда KASLR не включался автоматически.

1
ответ дан 24 July 2018 в 17:27

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

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