System Memory
Information about the system memory originates from the UEFI and is kept in the BMC's persistent memory. However, the information can be lost following a BMC factory reset. It will become available again following the next UEFI reboot.
A summary of the BlueField memory is available in the MemorySummary
object, under the Redfish ComputerSystem
schema. To retrieve it, execute the following command:
curl -k -u <bmc_username>:<bmc_password> -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield
The following is an example of the possible output:
{
...,
"@odata.id": "/redfish/v1/Systems/Bluefield",
"@odata.type": "#ComputerSystem.v1_22_0.ComputerSystem",
...,
"Memory": {
"@odata.id": "/redfish/v1/Systems/Bluefield/Memory"
},
"MemorySummary": {
"TotalSystemMemoryGiB": 32
},
...
}
The output contains the total amount of system memory (in GiB).
The list of BlueField DRAM cards is available under the Redfish MemoryCollection
schema. To retrieve it, execute the following command:
curl -k -u <bmc_username>:<bmc_password> -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Memory
The following is an example of the possible output:
{
"@odata.id": "/redfish/v1/Systems/Bluefield/Memory",
"@odata.type": "#MemoryCollection.MemoryCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/Bluefield/Memory/Memory_0"
}
],
"Members@odata.count": 1,
"Name": "Memory Module Collection"
}
Information about each individual DRAM card is available under the Redfish Memory
schema. To retrieve the information for Memory_0
, visible in the MemoryCollection
in the previous section, execute the following command:
curl -k -u <bmc_username>:<bmc_password> -H 'Content-Type: application/json'
-X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Memory/Memory_0
The following is an example of the possible output:
{
"@odata.id": "/redfish/v1/Systems/Bluefield/Memory/Memory_0",
"@odata.type": "#Memory.v1_20_0.Memory",
"AllowedSpeedsMHz": [],
"BaseModuleType": "RDIMM",
"BusWidthBits": 72,
"CapacityMiB": 32768,
"DataWidthBits": 64,
"EnvironmentMetrics": {
"@odata.id": "/redfish/v1/Systems/Bluefield/Memory/Memory_0/EnvironmentMetrics"
},
"ErrorCorrection": "MultiBitECC",
"FirmwareRevision": "0",
"Id": "Memory_0",
"Location": {
"PartLocation": {
"ServiceLabel": "Bank 0 DDR4/DDR5 memory"
}
},
"Manufacturer": "NVIDIA",
"MemoryLocation": {
"Channel": 0,
"MemoryController": 0,
"Slot": 0,
"Socket": 0
},
"Metrics": {
"@odata.id": "/redfish/v1/Systems/Bluefield/Memory/Memory_0/MemoryMetrics"
},
"Name": "DIMM Slot",
"Oem": {
"Nvidia": {
"@odata.type": "#NvidiaMemory.v1_0_0.NvidiaMemory"
}
},
"OperatingSpeedMhz": 5200,
"RankCount": 1,
"SerialNumber": "",
"Status": {
"Conditions": [],
"Health": "OK",
"HealthRollup": "OK",
"State": "Enabled"
}
}
Supported Properties
Property | Type | Notes |
BusWidthBits | integer | The bus width in bits |
CapacityMiB | integer (mebibytes) | Memory capacity in mebibytes (MiB) |
DataWidthBits | integer | Data width in bits |
ErrorCorrection | string (enum) | Error correction scheme supported for this memory device. |
Id | string | The memory component ID |
Location | object | The location of the memory device |
Manufacturer | string | The memory device manufacturer |
Name | string | The memory component name |
OperatingSpeedMhz | integer (MT/s) | Operating speed of the memory device in megatransfers per second (MT/s). |
RankCount | integer | Number of ranks available in the memory device. Means how many groups of memory chips are on the DIMM. |
Status | object | The status and health of the resource |