Repository navigation
v1.2.2
Memory information per module: every populated DIMM with its slot, vendor, part number, size, speeds and voltage, plus the speed the memory actually runs at.
Upgrade notes
Memorycontains a slice now (Devices), so Go code can no longer compareMemoryvalues with==or use them as map keys. JSON output only gains new keys.memory.speedis the modules' rated speed, as before. The speed they run at is the newmemory.configuredspeed, and the two often differ: DDR4-3200 modules running at 2400 or 2666, DDR5-4800 modules running at 6000 with EXPO.- Only system memory counts. Memory devices of arrays used for video memory or flash are no longer added to
memory.size.
New
memory.devices, one entry per populated module:locator,bank,vendor,model(part number),serial,size,type,formfactor,rank,speed,configuredspeedandvoltage(in mV). Placeholder strings such as "Not Specified" and all-zero serial numbers are left out. Thanks to Haraguroicha for the idea (#12).memory.slots, the number of memory sockets, populated or not.memory.configuredspeed, the configured (running) speed of the first module.
Fixes
- A speed reported in the SMBIOS 3.3 extended fields showed as 65535 MT/s.
- Modules whose size the firmware gives in KB were skipped.
Documentation
- The README's sample output shows the new fields.
Build and testing
- The SMBIOS parser is tested against tables from five physical machines (Supermicro and Dell Xeon servers, a Quanta EPYC server, an AMD desktop with DDR5) and a QEMU virtual machine, with serial numbers and UUIDs removed. All of them also seed the fuzz test.
Full Changelog: v1.2.1...v1.2.2