how to retrieve memory type ( rdimm or udimm)?

2019-02-24 23:56发布

问题:

is there a way to know if installed memory is Registered DIMM or Unregistered DIMM ? the win32_physicalMemory doesn't seem to provide this info ?

you can find more info about udimm rdimm here

EDIT : the solution provided by @C.B doesnt work either

回答1:

The first idea is using WMI Win32_PhysicalMemory and test if TotalWidth (bit count including check bits) is greater than DataWidth (bit count excluding check bits).

    gwmi Win32_PhysicalMemory | select totalwidth, datawidth, banklabel | 
 % {
 if ( $_.totalwidth > $_.datawidth )
 {
    "$($_.banklabel) is ECC memory type"
 }
 else
 {
    "$($_.banklabel) is non-ECC Memory Type"
 }
 }

I don't know if exist a best way, and this check if memory is ECC or not.

try this for checking buffered/registered or not memory type:

$a = Get-WMIObject -Class "Win32_PhysicalMemoryArray"

 Switch ($a.MemoryErrorCorrection) {
                    0 {Write-Host "ECC Type....:  Reserved"}
                    1 {Write-Host "ECC Type....:  Other"}
                    2 {Write-Host "ECC Type....:  Unknown"}
                    3 {Write-Host "ECC Type....:  None"}
                    4 {Write-Host "ECC Type....:  Parity"}
                    5 {Write-Host "ECC Type....:  Single-bit ECC"} #unbuffered
                    6 {Write-Host "ECC Type....:  Multi-bit ECC"}  #registed
                    7 {Write-Host "ECC Type....:  CRC"}
                }


回答2:

as I didn't find any simple solution, i think I will do it by scraping the dell support site (providing the server ServiceTag on this url) : http://support.euro.dell.com/support/DPP/Index.aspx?c=fr&cs=RC1077983&l=fr&s=pad&ServiceTag=XXXXXX