Назад | Перейти на главную страницу

Как диагностировать оперативную память?

У меня есть Java-процесс, который через некоторое время прерывается с помощью SIGSEGV. Это начало происходить после того, как я увеличил объем оперативной памяти на сервере. После тестирования на разных JVM я подозреваю, что это может быть проблема с оборудованием. Но memtest86 не обнаружил никаких проблем.

Итак, что еще я могу сделать, чтобы определить источник проблемы? Стоит ли брать модули ОЗУ по одному для обнаружения неисправного модуля?

Сервер работает на 64-битной OpenSuse11.3.

Похоже, что память не ECC. У меня есть такой комплект (3 * 4 ГБ * 2 = 24 ГБ):

http://www.kingston.com/datasheets/KHX1600C9S3K2_8GX.pdf

Мы бегаем Memtest86 + против новых систем в течение 48-72 часов, и за эти годы мы обнаружили множество ошибок, которые не проявлялись до 2 или 3 дней. Пары / нескольких проходов просто недостаточно.

Кроме того, не смешивайте ECC и non-ECC, и да, вам, вероятно, придется удалить / манипулировать / повторно протестировать модули RAM, чтобы найти виновника.

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

Еще одно предложение по поводу Мемтесты86 +. Memtest наверняка проверит всю память, но иногда аппаратный сбой проявляется только тогда, когда температурные условия машины достигают определенных уровней. Memtest не нагружает диски и другие части системы.

Если вы считаете, что температура может быть проблемой, попробуйте запустить memtest в худших температурных условиях, чем обычно.

После просмотра настроек BIOS появился альтернативный «Множитель системной памяти», который был установлен на 12. Я изменил этот параметр на «Авто», сбоя больше не происходит. Итак, я подумал, что это может помочь другим, у которых есть подобные проблемы.

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

мемтестер

Если вы устанавливаете Ubuntu, вы можете установить его

sudo apt-get install memtester