Это довольно специфический, но основной вопрос, касающийся конкретной компьютерной системы в сочетании с Linux EDAC. Если вы относитесь к типу TL;DR, перейдите к разделу с пометкой Вопрос. В противном случае, пожалуйста, потерпите меня, поскольку необходима некоторая информация.
Документы по материнской плате
На материнской плате HP ProLiant DL380 G7 указано два способа определения слота памяти:
- Порядок заполнения (от A до I)
- Номер слота (от 1 до 9)
Эта материнская плата имеет два процессора с двумя банками по 9 планок оперативной памяти для каждого процессора. Каждый банк ОЗУ имеет 9 слотов и разделен на 3 канала, по 3 планки ОЗУ на каждый канал.
Порядок заполнения следующий: A, B, C, пока вы не достигнете I. Это означает, что при заполнении RAM-накопителей вы должны сначала вставить их A, затем B, затем C и так далее.Во-вторых, слоты для A, B и C белые, а остальные нет. Белая окраска показывает, какие слоты следует заполнить в первую очередь.
Номера слотов против букв слотов
На этой материнской плате используются следующие два соглашения по маркировке для каждого банка и канала для обозначения слота:
Ч1 Ч2 Ч3
{Г, Д, А} {Ч, Е, Б} {И, Ж, В}
{1, 2, 3} {4, 5, 6} {7, 8, 9}
{Квадратные скобки} обозначают начало и конец канала.
Например, чтобы вставить 1 карту памяти для каждого процессора, доступного на этой материнской плате, первым слотом будет A3 (белый слот). Вот где EDAC становится проблемой. Поскольку существует два способа идентификации слота (по номеру и/или по букве), определение слота через EDAC в некоторых случаях представляется проблематичным.
Идентификация по населению
Если идентифицировать по порядку заполнения, то номера слотов должны выглядеть так:
Ч1 Ч2 Ч3
Слот {2, 1, 0) {2, 1, 0} {2, 1, 0)
Буква {G, D, A} {H, E, B} {I, F, C}
Подсчитайте {1, 2, 3} {4, 5, 6} {7, 8, 9}
Логически причина, по которой A3, B6 и C9 должны быть идентифицированы как слот № 0 (DIMM № 0), заключается в том, что это белые слоты, которые заполняются первыми. Логично предположить, что порядок заполнения должен диктовать наименьшие номера слотов тем, кто заполняется первым.
ЭДАК
Трудность возникает с ведением журнала ошибок EDAC. Первая проблема с EDAC заключается в том, что он использует идеологию «начинается с 0». Документация по материнской плате не использует это соглашение о нумерации и вместо этого начинается с 1. Я упоминаю об этом только потому, что об этом нужно знать.
Вторая и более серьезная проблема заключается в том, что на этой материнской плате EDAC, кажется, перечисляет карты памяти на основе числового порядка (количества) слотов (т. Е. 1–9), при этом EDAC предпочитает игнорировать порядок заполнения AI.
Это означает, что => ЦП#1Канал#1_DIMM#0 <= это то, что вы видите через EDAC в dmesg. Хотя относительно легко определить номер ЦП и канала, сложнее определить фактический слот DIMM из EDAC.
В случае с этим сообщением EDAC выше, какая флешка упоминается как DIMM#0 в канале №1 на ЦП №1?
Порядок перечисления
Следуя порядку перечисления, отображаемому EDAC, кажется, что номера слотов идентифицируются EDAC следующим образом (противоположный порядок заполнения):
Ч1 Ч2 Ч3
Слот {0, 1, 2) {0, 1, 2} {0, 1, 2)
Буква {G, D, A} {H, E, B} {I, F, C}
Подсчитайте {1, 2, 3} {4, 5, 6} {7, 8, 9}
Где DIMM # 0 помечен так, потому что это наименьшее число счетчиков при перечислении всех каналов и слотов RAM Stick.
Строго следуя только ведению журнала EDAC и основываясь на вышеизложенном, я бы пришел к выводу, что ЦП#1Канал#1_DIMM#0 идентифицирует палку H4 (вспоминая, что EDAC начинает отсчет с 0). Однако, поскольку теперь есть сомнения относительно того, означает ли DIMM#0 H4 или B6, это делает запутанную систему идентификации EDAC проблематичной. Я также не нашел окончательного способа разрешить это несоответствие. Несоответствие между абстрактной системой идентификации EDAC и рекомендациями по заполнению материнских плат определенно проблематично.
Это означает, что на всякий случай, если палка H4 (или B6) выйдет из строя, вам придется заменить обе H4. и B6, чтобы убедиться, что вы заменили неисправную флешку, идентифицированную EDAC как DIMM#0. Это означает замену всего двух планок, потому что EDAC не смог выбрать более точный способ определения истинного слота DIMM.
Я даже не совсем понимаю, почему разработчики EDAC решили использовать 0, 1 и 2 для идентификации канала DIMM / слота. Это более или менее выдуманное соглашение, используемое только EDAC, которое не имеет никакого отношения к документации материнской платы или маркировке на материнской плате. Таким образом, EDAC делает идентификацию слотов излишне сложной и запутанной без какой-либо реальной пользы.
Вопрос
Кто-нибудь действительно понимает, как окончательно определить правильную карту памяти с помощью EDAC с его ненужной запутанной схемой маркировки? Я в недоумении.