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

Как найти неисправный модуль памяти по сообщению MCE?

Я пытаюсь понять сообщение MCE, чтобы определить, какой модуль памяти неисправен на сервере. Это сообщение появляется в /var/log/kern.log в одном сервере, который сегодня два раза зависает.

Apr 13 22:39:22 mbox kernel: [36247975.116860] sbridge: HANDLING MCE MEMORY ERROR
Apr 13 22:39:22 mbox kernel: [36247975.116867] CPU 0: Machine Check Exception: 0 Bank 5: 8c00004000010090
Apr 13 22:39:22 mbox kernel: [36247975.116869] TSC 0 ADDR 4a0d75900 MISC 21405cdc86 PROCESSOR 0:206d7 TIME 1428957562 SOCKET 0 APIC 0
Apr 13 22:39:22 mbox kernel: [36247975.951013] EDAC MC0: 1 CE memory read error 

Подозреваю неисправный модуль памяти. Сервер представляет собой 2x Xeon E5-2650 с модулями памяти 8x8Go (8 слотов памяти для каждого процессора)

Вот заполнение модулей памяти от lshw:

 *-memory:0
      description: System Memory
      physical id: 2d
      slot: System board or motherboard
    *-bank:0
         description: DIMM DDR3 1333 MHz (0,8 ns)
         product: 9965516-197.A
         vendor: Kingston
         physical id: 0
         serial: B83AE5C2
         slot: P1_DIMMA1
         size: 8GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)
    *-bank:1
         description: DIMM Synchronous [empty]
         product: Dimm1_PartNum
         vendor: Dimm1_Manufacturer
         physical id: 1
         serial: Dimm1_SerNum
         slot: P1_DIMMA2
         width: 64 bits
    *-bank:2
         description: DIMM DDR3 1333 MHz (0,8 ns)
         product: 9965516-048.A
         vendor: Kingston
         physical id: 2
         serial: EC309238
         slot: P1_DIMMB1
         size: 8GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)
    *-bank:3
         description: DIMM Synchronous [empty]
         product: Dimm4_PartNum
         vendor: Dimm4_Manufacturer
         physical id: 3
         serial: Dimm4_SerNum
         slot: P1_DIMMB2
         width: 64 bits
    *-bank:4
         description: DIMM DDR3 1333 MHz (0,8 ns)
         product: 9965516-048.A
         vendor: Kingston
         physical id: 4
         serial: E9305438
         slot: P1_DIMMC1
         size: 8GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)
    *-bank:5
         description: DIMM Synchronous [empty]
         product: Dimm7_PartNum
         vendor: Dimm7_Manufacturer
         physical id: 5
         serial: Dimm7_SerNum
         slot: P1_DIMMC2
         width: 64 bits
    *-bank:6
         description: DIMM DDR3 1333 MHz (0,8 ns)
         product: 9965516-048.A
         vendor: Kingston
         physical id: 6
         serial: E7305738
         slot: P1_DIMMD1
         size: 8GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)
    *-bank:7
         description: DIMM Synchronous [empty]
         product: Dimm10_PartNum
         vendor: Dimm10_Manufacturer
         physical id: 7
         serial: Dimm10_SerNum
         slot: P1_DIMMD2
         width: 64 bits
 *-memory:1
      description: System Memory
      physical id: 3f
      slot: System board or motherboard
    *-bank:0
         description: DIMM DDR3 1333 MHz (0,8 ns)
         product: 9965516-197.A
         vendor: Kingston
         physical id: 0
         serial: B63A08C3
         slot: P2_DIMME1
         size: 8GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)
    *-bank:1
         description: DIMM Synchronous [empty]
         product: Dimm1_PartNum
         vendor: Dimm1_Manufacturer
         physical id: 1
         serial: Dimm1_SerNum
         slot: P2_DIMME2
         width: 64 bits
    *-bank:2
         description: DIMM DDR3 1333 MHz (0,8 ns)
         product: 9965516-048.A
         vendor: Kingston
         physical id: 2
         serial: EA309638
         slot: P2_DIMMF1
         size: 8GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)
    *-bank:3
         description: DIMM Synchronous [empty]
         product: Dimm4_PartNum
         vendor: Dimm4_Manufacturer
         physical id: 3
         serial: Dimm4_SerNum
         slot: P2_DIMMF2
         width: 64 bits
    *-bank:4
         description: DIMM DDR3 1333 MHz (0,8 ns)
         product: 9965516-048.A
         vendor: Kingston
         physical id: 4
         serial: E7305938
         slot: P2_DIMMG1
         size: 8GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)
    *-bank:5
         description: DIMM Synchronous [empty]
         product: Dimm7_PartNum
         vendor: Dimm7_Manufacturer
         physical id: 5
         serial: Dimm7_SerNum
         slot: P2_DIMMG2
         width: 64 bits
    *-bank:6
         description: DIMM DDR3 1333 MHz (0,8 ns)
         product: 9965516-048.A
         vendor: Kingston
         physical id: 6
         serial: E7305B38
         slot: P2_DIMMH1
         size: 8GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)
    *-bank:7
         description: DIMM Synchronous [empty]
         product: Dimm10_PartNum
         vendor: Dimm10_Manufacturer
         physical id: 7
         serial: Dimm10_SerNum
         slot: P2_DIMMH2
         width: 64 bits
 *-memory:2 UNCLAIMED
      physical id: 7
 *-memory:3 UNCLAIMED
      physical id: 9

Как видите, на банке №5 модуля памяти нет. Итак, мой вопрос: согласны ли вы, что это сообщение касается сбоя памяти? И если да, то как мне узнать, какой модуль нужно заменить?

Эти ошибки исходят от класса устройства EDAC - обнаружение и исправление ошибок edac_mc.

События, которые вы получаете, являются событиями CE (исправимые ошибки). Это признаки того, что модуль DIMM начинает выходить из строя.

EDAC не сообщил какой-либо конкретной информации о том, к какой строке или каналу памяти он относится, поэтому трудно сказать, какую из них заменить, пока она не выйдет из строя.

но посмотрите: / sys / devices / system / edac / mc / mc *, и это может рассказать вам немного больше о том, какая строка / dimm может быть неисправной.

Например

ls -s /sys/devices/system/edac/mc/mc0 total 0 0 ce_count 0 csrow1 0 csrow4 0 csrow7 0 reset_counters 0 size_mb 0 ce_noinfo_count 0 csrow2 0 csrow5 0 device 0 sdram_scrub_rate 0 ue_count 0 csrow0 0 csrow3 0 csrow6 0 mc_name 0 seconds_since_reset 0 ue_noinfo_count

посмотрите на поле ce_count.

на стороне примечания:

Система может продолжать работать, но с меньшей безопасностью. Профилактическое обслуживание и упреждающая замена компонентов модулей памяти DIMM с CE может снизить вероятность страшных событий UE (неисправимая ошибка) и системной паники.

больше информации о edac здесь:

https://www.kernel.org/doc/Documentation/edac.txt

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

Например, Oracle предлагает заменить DIMM, когда имеет место одно из следующих событий:

  • Более 24 исправимых ошибок (CE) возникают в течение 24 часов с одного модуля DIMM и никакой другой модуль DIMM не показывает дополнительных CE.

  • Модуль DIMM не проходит тестирование памяти в BIOS из-за неисправимых ошибок памяти (UCE).

  • Возникают UCE, и расследование показывает, что ошибки возникли из памяти.

Обратите внимание на 24 ошибки за 24 часа.

https://docs.oracle.com/cd/E19150-01/820-4213-11/dimms.html

Также,

Если более чем один DIMM испытал несколько CE, другие возможные причины CE должны быть исключены квалифицированным специалистом службы поддержки Sun перед заменой любых модулей DIMM.

По последнему пункту HP говорит что-то подобное, что может быть просто микропрограмма сервера неправильно определяет ошибки памяти. Говорят, во многих случаях обновление прошивки устраняет ложные срабатывания. Это может быть особенно верно, если вы начали получать MCE от разных модулей DIMM.

Это может помочь установить mcelog и запустить его как демон, а также улучшить отчеты. Они все еще загадочны, но есть немного больше информации, чтобы найти виновный DIMM.

mcelog также может обрабатывать проблемы в реальном времени, отключая страницы с чрезмерным количеством ошибок памяти, что дает вам больше шансов продлить работу машины, пока вы не сможете ее восстановить.