CIM_PhysicalMemory and Win32_PhysicalMemory are the same [ 1 ].
This property inherits from CIM_PhysicalMemory.
Here the value is obtained from [ 1 ].
This value comes from the structure of the memory device in the version information of SMBIOS. For SMBIOS versions 2.1 through 2.6, the value comes from the Size member. For SMBIOS version 2.7+, the value refers to the Extended Size element.
The SMBIOS standard says: 2 ]
The Extended Size field is intended to represent memory devices larger than 32,767 MB (32 GB - 1 MB), which cannot be described using the "Size" field. This field only makes sense if the value in the Size field is 7FFFh. For compatibility with older SMBIOS parsers, smaller memory devices (32 GB - 1 MB) should be represented using their size in the Size field, with the result that the Extended Size field will be set to 0.
As you say, you have 8x64GB, but 8x32GB is displayed, I do not like this, as the NUMA problem. If it is NUMA, I would expect you to get 4x32GB. In addition, I have a server with 8x32GB and 2 sockets. Therefore, if this is a NUMA problem, I would expect to see the same problem on my inbox. However, I am displaying the quantity correctly. It looks like your BIOS uses SMBIOS standad strcuture up to 2.7.1, which is strange, although since 2011.
Try checking your SMBIOS version with
(Get-CimInstance -ClassName Win32_BIOS) | Select-Object SMBIOS*
For me, SMBIOSVersion returns the vendor BIOS version number instead of the standard one, but SMBIOSMajorVersion and SMBIOSMinorVersion return the correct value.
Win32_ComputerSystem requests information from the Win32 api [ 3 ].
The total size of physical memory. Keep in mind that under some circumstances this property cannot return the exact value of physical memory. For example, it is inaccurate if the BIOS uses some physical memory. For the exact value, use the Capacity property in Win32_PhysicalMemory.