Я зауважу, що SMBios Type 20 допоможе тут, але це необов'язково, як у версії 2.5 (2006-09-05), с. 25, L796 та стор. 131 , тоді як типи 16, 17 і 19 є обов'язковими, але не зовсім допомогу.
Масив фізичної пам'яті (тип 16)
Існує одна з цих структур для всієї системи, що пояснює, що можливо на цій дошці.
Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 768 GB
Error Information Handle: Not Provided
Number Of Devices: 24
Пристрій пам'яті (тип 17)
Існує один запис на кожен Dimm, який повідомляє вам про фізичні димми, встановлені на дошці.
Handle 0x1100, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: 1
Locator: DIMM_A1
Bank Locator: Not Specified
Type: DDR3
Type Detail: Synchronous Registered (Buffered)
Speed: 1600 MHz
Manufacturer: XXXX
Serial Number: XXXX
Asset Tag: XXXX
Part Number: XXXX
Rank: 1
Configured Clock Speed: 1333 MHz
Картована адреса масиву пам'яті (тип 19)
Таких записів може бути кілька, і кожен запис містить список фізичних адрес.
Ось вихід з двома паличками 2 Гб:
Handle 0x1300, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000CFFFFFFF
Range Size: 3328 MB
Physical Array Handle: 0x1000
Partition Width: 2
Handle 0x1301, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x0012FFFFFFF
Range Size: 768 MB
Physical Array Handle: 0x1000
Partition Width: 2
А ось вихід з 4-ма паличками; 2 * 2 ГБ і 2 * 4 ГБ:
Handle 0x1300, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000CFFFFFFF
Range Size: 3328 MB
Physical Array Handle: 0x1000
Partition Width: 2
Handle 0x1301, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x0032FFFFFFF
Range Size: 8960 MB
Physical Array Handle: 0x1000
Partition Width: 2
Зауважте, що у першому вихідному зразку вище було два DIMM 2 Гб, але два діапазони 3,3 ГБ та 0,7 ГБ. За допомогою 4-х димів система також поєднує область адресного масиву пам'яті, відображену в два фрагменти, оскільки вона просто представляє те саме, що і карта e820, тобто допустимі діапазони фізичної адреси пам'яті.
Від 1 до багатьох записів типу 20 прив’язано саме до одного пристрою пам'яті типу 17, що означає, що може бути відомий весь фізичний діапазон:
Приклад
$ sudo dmidecode -t 20
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x002F, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000FFFFFFFF
Range Size: 4 GB
Physical Device Handle: 0x002B
Memory Array Mapped Address Handle: 0x002E
Partition Row Position: 1
Handle 0x0030, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x001FFFFFFFF
Range Size: 4 GB
Physical Device Handle: 0x002C
Memory Array Mapped Address Handle: 0x002E
Partition Row Position: 1
Здається, можна перейти від адреси до DIMM для цілей EDAC - виявлення та виправлення помилок , але не від DIMM до всього діапазону.
Дивлячись на вихідний код mcelog , він також використовує тип 20 для його декодування.
lshw
використовує dmidecode
як кодову базу та dmidecode -t 20
надає потрібну інформацію. Але, як зазначалося, у версії 2.5 SMBIOS структура, що містить цю інформацію, "Мапірована адреса пристрою пам'яті" aka тип 20 або місцезнаходження банку , необов'язкова - таким чином, Q - якщо є інший спосіб отримати ту саму інформацію. - Посилання між значенням type 17
' Locator ' та фізичним діапазоном адреси (як необов'язково передбачено Type 20
).
dmidecode -t 20
виводу, чи можете ви пояснити значення локатора типу 17 порівняно з фізичною добавкою, тип 20?
dmidecode
іlshw
, але я думаю , що ви шукаєте більше , ніж вони дають?