avva: (Default)
avva ([personal profile] avva) wrote2004-07-03 12:43 am

что-то с памятью моей стало

Спасибо всем, кто посоветовал мне проверить память. Действительно, проверка показала, что как минимум один байт сбоит. А именно, байт номер 0x1008d004, третий бит, если с нуля считать (это не совсем объясняет те ошибки, но, возможно, сбоит ещё несколько, я только раз десять тест прокрутил, и он только два раза из них нашёл ошибку).

Как хорошо, что в Линуксе есть BadRAM! Вот заодно и испытаем его. Только оставлю сначала на ночь бежать проверку, может ещё что обнаружит.

А если б Windows, то только менять память. Я, правда, и так поменяю, наверное, благо гарантия ещё не кончилась, и всё равно прикупить собирался, но BadRAM позволит мне не торопиться с этим.

[identity profile] squadette.livejournal.com 2004-07-02 02:50 pm (UTC)(link)
а ядро покомпилировать в цикле с -j 3?

ещё можно запустить prime-net'овского клиента

впрочем и так уже всё ясно

[identity profile] ex-russkiy257.livejournal.com 2004-07-02 02:58 pm (UTC)(link)
Под виндовз есть железный абсолютно тест - Prime 95 (Mersenne Numbers tests). Выкупает битую память, как облупленную.
Могу ссудить )

[identity profile] dmarck.livejournal.com 2004-07-02 03:03 pm (UTC)(link)
По моему опыту, пока еще ничего надежнее http://www.memtest86.com/ не придумали. Но -- да, приходится машину out of regular job выдергивать, что не всегда возможно.

Кстати, при нынешних объемах памяти, лишний аргумент за ECC.

[identity profile] jsn.livejournal.com 2004-07-02 03:12 pm (UTC)(link)
badram-то приятнее. software RAIMC, типа -- redundant array of inexpensive memory chips.

[identity profile] alkk.livejournal.com 2004-07-02 03:52 pm (UTC)(link)
битое - менять при первой возможности. badram - это костыль.

[identity profile] dmarck.livejournal.com 2004-07-02 10:24 pm (UTC)(link)
В использовании -- да, конечно. А в обнаружении? Ошибка на ходу может стоить дорогого...

[identity profile] a48.livejournal.com 2004-07-02 04:03 pm (UTC)(link)
у меня memtest не нашел проблемную память (тестировал несколько суток), которую другая утилита нашла. к сожалению, забыл название, надо на работе посмотреть.

[identity profile] a48.livejournal.com 2004-07-02 04:20 pm (UTC)(link)
вот она http://www.home.earthlink.net/~alegr/download/memtest.htm
я тогда утилит 5, наверное, перепробовал. сутками тестировал, ничего не находилось, хотя я был уверен, что проблема в памяти. а эта нашла через 10 минут.

[identity profile] avva.livejournal.com 2004-07-02 04:32 pm (UTC)(link)
Я как раз memtest86 (точнее, memtest86+, построенным под Линуксом, но запускаемым через отдельный boot, как и memtest86), и пользовался, да.

MAXMEM Option in Windows NT BOOT.INI File

[identity profile] kroman139.livejournal.com 2004-07-02 06:59 pm (UTC)(link)
"MAXMEM Option in Windows NT BOOT.INI File"
http://support.microsoft.com/default.aspx?scid=kb;en-us;108393

Под WinNT можно указать максимальный размер памяти. Судя по циферке 0x1008d004, сбойный байт находится прямо за 256 Мб. Можно переставить модули так, чтобы этот байт оказался поближе к концу памяти, после чего настроить WinNT (чтобы оно использовало память только до сбойного байта).

Не знаю, как реализован BadRAM, но, теоретически, он должен "вырезать" память страницами по 4К (на x86), что бы они там не говорили о 4, 8 или 16 байтах. Опять же, в зависимости от реализации алгоритма "вырезания" может упасть производительность.

P.S. Если ядро и в самом деле умеет выделять память по 8 байт, то это очень странное ядро для персонального компьютера.

[identity profile] avva.livejournal.com 2004-07-02 07:08 pm (UTC)(link)
Мне лень было подробно разбирать, как именно работает BadRAM, но из описания я понял, что он просто забирает всю страницу под память ядра (ядру всё равно, какие физические страницы использовать под постоянную non-swapped память), а потом аллокирует нужный кусок внутренним аллокатором ядра и просто "забывает" о нём. В результате эта память никогда не используется для чего-либо другого; потеря составляет больше 8 байтов, но ненамного: минимальный размер блока во внутреннем аллокаторе ядра (не знаю сколько, но наверняка не больше 32 байт) плюс overhead структур аллокатора.

Насчёт памяти: у меня то ли два модуля по 256, то ли один по 512, не помню уже. Даже в первом случае плохой байт находится в начале одного из модулей. Кстати, я с тех пор обнаружил ещё один плохой байт, где-то на 400+ мегабайте, и тоже его внёс в BadRAM.

[identity profile] a48.livejournal.com 2004-07-03 12:10 am (UTC)(link)
а неужели не беспокоит ничего при этом? я вот психологически не смог бы работать на таком компьютере - а ну как еще какой-то плохой байт не найден и в badram не внесен? :)

[identity profile] avva.livejournal.com 2004-07-03 03:15 am (UTC)(link)
Ну Гондурас беспокоит немного, конечно ;-) Но не так уж ужасно, неделю-две такой работы моя психика вполне выдержит.

[identity profile] gholam.livejournal.com 2004-07-03 12:38 pm (UTC)(link)
А по гарантии поменять? Или кончилась?

Re: MAXMEM Option in Windows NT BOOT.INI File

[identity profile] avva.livejournal.com 2004-07-02 07:11 pm (UTC)(link)
Согласитесь, кстати, что остроумное решение. Я тоже, когда узнал, что есть такое, подумал, что страницами небось вырезает, ан нет.

Re: MAXMEM Option in Windows NT BOOT.INI File

[identity profile] kroman139.livejournal.com 2004-07-02 07:14 pm (UTC)(link)
Угу, красивое решение. :):):)

[identity profile] iskatel.livejournal.com 2004-07-05 05:50 am (UTC)(link)
Ядро собирать в цикле - хорошо..
Архивация чем-то тяжелым класса rar c использованием всей памяти и последующим тестом - лучшее, что есть.
Под любой ОС. Если памяти много, пустить несколкьо потоков параллельно.

Под виндой можно 7zip