Redfish API 支持#
DGX 系统固件支持 Redfish API。Redfish 是 DMTF 的一套标准 API,用于管理和监控平台。默认情况下,DGX B200 BMC 和 BIOS 中启用 Redfish 支持。使用 Redfish 接口,具有管理员权限的用户可以通过 REST API 接口浏览机箱和系统级别的物理资源。Redfish 提供的信息按特定资源端点分类,Redfish 客户端可以使用以下 HTTP 方法使用端点
GET
POST
PATCH
PUT
DELETE
并非所有端点都支持所有这些操作。有关操作的更多信息,请参阅 Redfish JSON 模式。Redfish 服务器遵循 DSP0266 1.7.0 规范和 Redfish Schema 2019.1 文档。Redfish URI 使用基本身份验证和实施进行访问,以便具有所需权限的 IPMI 用户可以访问 Redfish URI。
支持的 Redfish 功能#
以下是有关 DGX B200 中支持的 Redfish 功能的一些信息。
支持以下功能
管理用户帐户、权限和角色
管理器会话
BMC 配置
BIOS 配置
BIOS 启动顺序管理
获取 PCIe 设备和功能清单
获取存储清单
获取系统组件信息和运行状况(PSU、风扇、CPU、DIMM 等)
获取传感器信息(散热/电源/散热)
BMC 配置更改/BMC 重置
系统/机箱电源操作
获取运行状况事件日志/高级系统事件日志
日志记录服务,提供关键/信息严重性事件
事件服务 (SSE)
查询 GPU 功率限制
功率封顶
有关更多信息,请参阅以下文档
主机和 BMC 之间的连接#
您可以配置主机和 BMC 之间的内部网络连接,而不是使用外部网络连接并将流量路由到主机外部。
要配置内部网络连接,您必须在 169.254.0.0/255.255.0.0
网络上配置一个接口。然后,该接口可以在主机和 BMC 之间发送和接收 Redfish API 流量。BMC 预配置为使用 169.254.0.17
IP 地址。
运行类似以下示例的 ifconfig
命令来配置连接
sudo ifconfig enx9638a3b292ec 169.254.0.18 netmask 255.255.0.0
根据您的需要,在前面的示例中替换网络接口名称和 IP 地址。
配置网络接口后,您可以使用诸如 curl
和 nvfwupd
之类的命令以及 169.254.0.17
IP 地址连接到 BMC 并使用 Redfish API。
以下示例命令显示固件版本
nvfwupd -t ip=169.254.0.17 username=<bmc-user> password=<password> show_version
Redfish 示例#
BMC 管理器#
帐户
以下
curl
命令更改管理员用户的密码。curl -k -u <bmc-user>:<password> --request PATCH 'https://<bmc-ip-address>/redfish/v1/AccountService/Accounts/1' --header 'If-Match: *' --header 'Content-Type: application/json' --data-raw '{"Enabled" : true, "Password" : "DGXuser12345678!" , "UserName" : "admin" , "RoleId" : "Administrator" , "Locked" : false}'
重置 BMC
以下
curl
命令强制重置 DGX B200 BMC。curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Managers/BMC/Actions/Manager.Reset' --header 'Content-Type: application/json' --data '{"ResetType": "ForceRestart"}'
将 BMC 重置为出厂默认设置
以下
curl
命令将 BMC 重置为出厂默认设置。curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Managers/BMC/Actions/Manager.ResetToDefaults' --header 'Content-Type: application/json' --data '{"ResetType":"ResetAll"}'
固件更新#
固件清单
curl -k -u <bmc-user>:<password> --request GET 'https://<bmc-ip-address>/redfish/v1/UpdateService/FirmwareInventory'
示例响应
{ "@odata.context": "/redfish/v1/$metadata#SoftwareInventoryCollection.SoftwareInventoryCollection", "@odata.etag": "\"1683226281\"", "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "Description": "Collection of Firmware Inventory resources available to the UpdateService", "Members": [ { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/CPLDMB_0" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/CPLDMID_0" }, // ... ], "Members@odata.count": 66, "Name": "Firmware Inventory Collection", "Oem": { "Ami": { "FirmwareInventory": [ { "DataSourceUri": "/redfish/v1/UpdateService/FirmwareInventory/CPLDMB_0", "Name": "CPLDMB_0", "Version": "0.2.1.6" }, { "DataSourceUri": "/redfish/v1/UpdateService/FirmwareInventory/CPLDMID_0", "Name": "CPLDMID_0", "Version": "0.2.0.7" }, // ... ] } } }
更新 GPU 托盘组件
要更新 DGX B200 系统中的 GPU 托盘组件,请指定
HGX_0
作为目标,无论您要更新哪个 GPU 托盘组件。echo "{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/HGX_0\"]}" > parameters.json curl -k -u <bmc-user>:<password> -H 'Expect:' --location --request POST https://<bmc-ip-address>/redfish/v1/UpdateService/upload -F 'UpdateParameters=@parameters.json;type=application/json' -F UpdateFile=@<fw_bundle>
例如,指定
nvfw_DGX-HGX-B100-B200x8_0009_xxxxxx.x.x_prod-signed.fwpkg
固件文件。更新主板托盘组件
要更新主板托盘组件,您需要在 JSON 文件中将组件名称指定为目标。以下示例更新主机 BMC
echo "{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/HostBMC_0\"]}" > parameters.json curl -k -u <bmc-user>:<password> -H 'Expect:' --location --request POST https://<bmc-ip-address>/redfish/v1/UpdateService/upload -F 'UpdateParameters=@parameters.json;type=application/json' -F UpdateFile=@<fw_bundle>
以下目标可用
HostBMC_0
— 这是 DGX B200 BMC。HostBIOS_0
— 这是 DGX B200 BIOS。EROT_BMC_0
— 这是主机 BMC 的外部信任根。EROT_BIOS_0
— 这是主机 BIOS 的外部信任根。CPLDMID_0
— 这是中板 CPLD。CPLDMB_0
— 这是 CPU 托盘 CPLD。PSU_0
到PSU_5
— 这些是 PSU。PCIeSwitch_0
和PCIeSwitch_1
— 这些是 CPU 托盘上的 Gen5 PCIe 交换机。PCIeRetimer_0
和PCIeRetimer_1
— 这些是 CPU 托盘上的 PCIe 重定时器。
要更新目标,请更改前面示例中的路径
/redfish/v1/UpdateService/FirmwareInventory/HostBMC_0
。例如,对于 CPU 托盘 CPLD,请指定/redfish/v1/UpdateService/FirmwareInventory/CPLDMB_0
。确保指定
nvfw_DGX_0005_xxxxxx.x.x.fwpkg
固件文件。强制更新
仅当传入固件版本比现有版本更新时,DGX B200 系统组件固件才会更新。要覆盖此行为并刷新组件,请指定
ForceUpdate
字段并将其设置为true
。curl -k -u <bmc-user>:<password> --request PATCH 'https://<bmc-ip-address>/redfish/v1/UpdateService' --header 'If-Match: *' --header 'Content-Type: application/json' --data-raw '{"HttpPushUriOptions" : {"ForceUpdate": true}}'
成功后,命令返回
204
HTTP 状态代码。如果您尝试将标志设置为当前设置的值,则命令返回400
HTTP 状态代码。要获取
ForceUpdate
参数的值curl -k -u <bmc-user>:<password> --request GET 'https://<bmc-ip-address>/redfish/v1/UpdateService'
固件更新激活
要激活固件更新,请参阅 NVIDIA DGX B200 固件更新指南 中的 固件更新激活,了解更多信息。
后台复制
成功启动固件映像后,使用后台复制 API 在分区之间同步固件映像。
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/UpdateService/Actions/Oem/NvidiaUpdateService.CommitImage' \ --header 'Content-Type: application/json' \ --data '{ "Targets": ["/redfish/v1/UpdateService/FirmwareInventory/HostBIOS_0"] }'
BIOS 设置#
支持的 BIOS 属性
获取 BIOS 支持的所有属性的列表
curl -k -u <bmc-user>:<password> --location --request GET 'https://<bmc-ip-address>/redfish/v1/Registries'
列表中的注册表之一是您的 BIOS 属性注册表。格式为
BiosAttributeRegistry<version><version>
。例如,对于 BIOS 0.1.6,注册表为BiosAttributeRegistry106.1.0.6
。获取 BIOS 注册表的 URI
curl -k -u <bmc-user>:<password> --location --request GET 'https://<bmc-ip-address>/redfish/v1/Registries/BiosAttributeRegistry016.0.1.6/'
响应包括描述所有 BIOS 属性的 JSON 文件的位置。在
Location
下,指定了Uri
。例如,Uri":"/redfish/v1/Registries/BiosAttributeRegistry106.1.0.6
。获取包含所有 BIOS 属性注册表的 JSON 文件
curl -k -u <bmc-user>:<password> --location --request GET 'https://<bmc-ip-address>/redfish/v1/Registries/BiosAttributeRegistry106.en-US.1.0.6.json' --output BiosAttributeRegistry106.en-US.1.0.6.json
每个属性名称都有一个默认值、显示名称、帮助文本、只读指示符以及指示是否需要重置才能生效的指示符。
要获取当前的 BIOS 设置
curl -k -u <bmc-user>:<password> --location --request GET 'https://<bmc-ip-address>/redfish/v1/Systems/DGX/Bios'
将属性名称与注册表中的值匹配以获得描述。
示例响应
"Description": "Current BIOS Settings", "Id": "Bios", "Name": "Current BIOS Settings" ...
要在将来的 BIOS 设置中更改属性,请 PATCH SD URI 并指定属性名称和新值。您可以一次更改多个属性。
例如,以下 PATCH 请求指定了 SEL 日志已满时系统的响应方式
curl -k -u <bmc-user>:<password> --location --request PATCH 'https://<bmc-ip-address>/redfish/v1/Systems/DGX/Bios/SD' -H 'Content-Type: application/json' -H 'If-Match:*' --data-raw '{"Attributes" : {"IPMI002":"IPMI002DoNothing", "IPMI201":"IPMI201Donotloganymore"}}'
示例响应
"Description": "Future BIOS Settings", "Id": "SD", "Name": "Future BIOS Settings" ...
注意
对 BIOS 的所有属性更改都需要断电重启才能生效。当属性更改后进行 BIOS 更新时,还需要额外的断电重启才能应用更改。
使用 Redfish 修改启动顺序#
要在 DGX B200 系统上使用 Redfish API 修改启动顺序,请按照此过程中的步骤操作。
读取当前启动顺序。
从与 BMC 位于同一网络中的任何系统,运行以下
curl
命令以获取当前启动顺序$ curl -k -u <BMC username>:<BMC password> https://<BMC_IP_address>/redfish/v1/Systems/DGX/SD -H "content-type:application/json" -X GET -s | jq .Boot.BootOrder
[ "Boot0000", "Boot000F", "Boot0004", "Boot0005", "Boot0006", "Boot0007", "Boot0008", "Boot0009", "Boot000A", "Boot0010" ]
识别可用的启动设备。
要显示有关步骤 1 中启动设备的更多信息,例如
Boot0000
、Boot000F
和Boot0004
,请运行以下命令$ curl -k -u <BMC username>:<BMC password> https://<BMC_IP_address>/redfish/v1/Systems/DGX/BootOptions/00{0,1}{0,4,5,6,7,8,9,A,F} -H "content-type:application/json" -X GET -s | jq |grep -e "UefiDevicePath\|Name"
"@odata.etag": "\"1696896625\"", "DisplayName": "DGX OS", "Name": "Boot0000", "UefiDevicePath": "HD(1,GPT,159C2E52-2329-40AC-9103-6C28DC1528B8,0x800,0x100000)/\\EFI\\UBUNTU\\SHIMX64.EFI" "@odata.etag": "\"1696896625\"", "DisplayName": "UEFI: PXE IPv4 Intel(R) Ethernet Controller X550", "Name": "Boot0004", "UefiDevicePath": "PciRoot(0x0)/Pci(0x10,0x0)/Pci(0x0,0x0)/MAC(5CFF35FBDA09,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)" "@odata.etag": "\"1696896625\"", "DisplayName": "UEFI: PXE IPv4 Nvidia Network Adapter - B8:3F:D2:E7:B1:6C", "Name": "Boot0005", "UefiDevicePath": "PciRoot(0x20)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/MAC(B83FD2E7B16C,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)" "@odata.etag": "\"1696896625\"", "DisplayName": "UEFI: PXE IPv4 Nvidia Network Adapter - B8:3F:D2:E7:B1:6D", "Name": "Boot0006", "UefiDevicePath": "PciRoot(0x20)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x1)/MAC(B83FD2E7B16D,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)" "@odata.etag": "\"1696896625\"", "DisplayName": "UEFI: PXE IPv4 Nvidia Network Adapter - B8:3F:D2:E7:B0:9C", "Name": "Boot0007", "UefiDevicePath": "PciRoot(0x120)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/MAC(B83FD2E7B09C,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)" "@odata.etag": "\"1696896625\"", "DisplayName": "UEFI: PXE IPv4 Nvidia Network Adapter - B8:3F:D2:E7:B0:9D", "Name": "Boot0008", "UefiDevicePath": "PciRoot(0x120)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x1)/MAC(B83FD2E7B09D,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)" "@odata.etag": "\"1696896625\"", "DisplayName": "UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-C-Q2", "Name": "Boot0009", "UefiDevicePath": "PciRoot(0x160)/Pci(0x5,0x0)/Pci(0x0,0x0)/MAC(6CFE543D8F48,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)" "@odata.etag": "\"1696896625\"", "DisplayName": "UEFI: PXE IPv4 Intel(R) Ethernet Network Adapter E810-C-Q2", "Name": "Boot000A", "UefiDevicePath": "PciRoot(0x160)/Pci(0x5,0x0)/Pci(0x0,0x1)/MAC(6CFE543D8F49,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)" "@odata.etag": "\"1696896625\"", "DisplayName": "ubuntu", "Name": "Boot000F", "UefiDevicePath": "HD(1,GPT,1E0EFF2A-2BF3-4DC6-8757-4075B1E5343D,0x800,0x100000)/\\EFI\\UBUNTU\\SHIMX64.EFI" "@odata.etag": "\"1696896625\"", "DisplayName": "UEFI: PXE IPv4 American Megatrends Inc.", "Name": "Boot0010", "UefiDevicePath": "PciRoot(0x0)/Pci(0x14,0x0)/USB(0xA,0x0)/USB(0x2,0x1)/MAC(4E2A712C2451,0x0)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)"
其中
DisplayName
字符串是驱动器或网络适配器的名称。Name
字符串是启动设备名称。UefiDevicePath
字符串的MAC(<address>,0x1)
值是相应的 MAC 地址。@odata.etag
字符串是etag
编号。
从下一步的 JSON 输出中识别以下信息
要作为启动设备的设备的名称。
用于组成标头的
etag
编号。
更新启动顺序。
以下命令使用
PATCH
方法修改BootOrder
设置,指定步骤 2 中的etag
编号和启动设备名称。该命令为BootOrder
生成一个新的顺序列表,这将影响系统的下次启动。$ curl -k -u <BMC username>:<BMC password> https://<BMC_IP_address>/redfish/v1/Systems/DGX/SD -H "content-type:application/json" -H 'if-None-Match: "@odata.etag": "1697483651"' --data '{"Boot":{"BootOrder": ["Boot0004", "Boot0000", "Boot0005", "Boot0006", "Boot0007", "Boot0008", "Boot0009", "Boot000A", "Boot000F", "Boot0010"]}}' -X PATCH
确认启动顺序。
重复步骤 1 中的命令,以确保
BootOrder
设置符合预期。请注意,Boot0004
启动设备现在位于顶部,系统将从板载 RJ-45 网络接口启动。$ curl -k -u <BMC username>:<BMC password> https://<BMC_IP_address>/redfish/v1/Systems/DGX/SD -H "content-type:application/json" -X GET -s | jq .Boot.BootOrder
[ "Boot0004", "Boot0000", "Boot0005", "Boot0006", "Boot0007", "Boot0008", "Boot0009", "Boot000A", "Boot000F", "Boot0010" ]
重新启动后,系统应尝试使用正确的网络接口从网络启动
此启动顺序更改将一直保留到下次启动顺序更新,这可以通过重置 SBIOS 或再次运行此过程来完成。
遥测#
GPU 托盘传感器
curl -k -u <bmc-user>:<password> --location --request GET 'https://<bmc-ip-address>/redfish/v1/TelemetryService/MetricReportDefinitions/HGX_PlatformEnvironmentMetrics_0'
DGX 平台传感器
curl -k -u <bmc-user>:<password> --location --request GET 'https://<bmc-ip-address>/redfish/v1/Chassis/DGX/Sensors'
端点一次返回
75
个成员。要分页浏览结果,请使用Members@odata.nextLink
字段中的 URI。例如,/redfish/v1/Chassis/DGX/Sensors?$skip=75
。
机箱#
机箱重启(IPMI 机箱断电重启)
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Systems/DGX/Actions/ComputerSystem.Reset' --header 'Content-Type: application/json' --data '{"ResetType": "ForceRestart"}'
机箱启动(IPMI 机箱开机)
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Systems/DGX/Actions/ComputerSystem.Reset' --header 'Content-Type: application/json' --data '{"ResetType": "On"}'
机箱正常重启(IPMI 机箱软关机,IPMI 机箱开机)
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Systems/DGX/Actions/ComputerSystem.Reset' --header 'Content-Type: application/json' --data '{"ResetType": "GracefulRestart"}'
机箱关机(IPMI 机箱关机)
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Systems/DGX/Actions/ComputerSystem.Reset' --header 'Content-Type: application/json' --data '{"ResetType": "ForceOff"}'
机箱正常关机(IPMI 机箱软关机)
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Systems/DGX/Actions/ComputerSystem.Reset' --header 'Content-Type: application/json' --data '{"ResetType": "GracefulShutdown"}'
机箱断电重启(IPMI 机箱关机,IPMI 机箱开机)
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Systems/DGX/Actions/ComputerSystem.Reset' --header 'Content-Type: application/json' --data '{"ResetType": "PowerCycle"}'
注意
出于安全原因,不支持 HMC 上的 ForceRestart
、GracefulRestart
和 GracefulShutdown
重置操作。
SEL 日志#
要使用 Redfish 查看所有 SEL 条目
curl -k -u <bmc-user>:<password> --location --request GET 'https://<bmc-ip-address>/redfish/v1/Managers/BMC/LogServices/SEL/Entries'
端点一次返回 75
个成员。要分页浏览结果,请使用 Members@odata.nextLink
字段中的 URI。例如,/redfish/v1/Managers/BMC/LogServices/SEL/Entries?$skip=75
。
虚拟镜像#
确保虚拟介质已启用
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Managers/BMC/Actions/Oem/AMIVirtualMedia.EnableRMedia' --data-raw '{"RMediaState": "Enable"}'
挂载介质
curl -k -u <bmc-user>:<password> --request POST --location 'https://{{bmc-ip-address}}/redfish/v1/Managers/Self/VirtualMedia/CD_1/Actions/VirtualMedia.InsertMedia' --data-raw '{"Image" : "//<serverip>/home/nvidia/images/ubuntu-20.04.2-live-server-amd64.iso","TransferProtocolType" : "NFS"}'
备份和恢复 BMC 配置#
除了使用 Web UI 备份和恢复 BMC 配置外,您还可以使用以下方法的 Redfish API
在 BMC 中安装安全 AES 密钥。
备份 BMC 配置。
使用备份文件恢复 BMC 配置。
当您执行配置恢复时,BMC 会自动重启。
备份 BMC 配置#
生成 AES 密钥并将其保存到
.bin
文件。openssl rand -out aes_key.bin 32
上传 AES 密钥。
curl -s -k -u <username>:<password> --location --request POST 'https://<bmcip>/redfish/v1/Managers/BMC/Actions/Oem/NvidiaManager.UploadAESKey' --form 'AESKey=@aes_key.bin' | jq
成功命令返回
204
HTTP 状态代码。通过创建备份文件(例如,
bmc-config.bak
)来备份 BMC 配置。curl -s -k -u <username>:<password> POST 'https://<bmcip>/redfish/v1/Managers/BMC/Actions/Oem/NvidiaManager.BackupConfig' -H 'Content-Type: application/json' --data-raw '{ "BackupFeatures" : ["NTP","Network and Services","Syslog","Authentication","SNMP","IPMI","KVM"] }' > bmc-config.bak
恢复 BMC 配置#
注意
您必须执行出厂重置以恢复默认设置,然后再恢复 BMC 配置。
上传先前生成的 AES 密钥。
curl -s -k -u <username>:<password> --location --request POST 'https://<bmcip>/redfish/v1/Managers/BMC/Actions/Oem/NvidiaManager.UploadAESKey' --form 'AESKey=@aes_key.bin' | jq
成功命令返回
204
HTTP 状态代码。从备份文件(例如,
bmc-config.bak
)恢复 BMC 配置。curl -s -k -u <username>:<password> --location --request POST 'https://<bmcip>/redfish/v1/Managers/BMC/Actions/Oem/NvidiaManager.RestoreConfig' --form 'conf_file=@"bmc-config.bak"' | jq
收集 BMC 调试数据#
创建请求以使 BMC 开始收集调试数据
curl -k -u <bmc-user>:<password> --request POST --location 'https://<bmc-ip-address>/redfish/v1/Managers/BMC/LogServices/DiagnosticLog/Actions/LogService.CollectDiagnosticData' -H 'Content-Type: application/json' --data-raw '{"DiagnosticDataType" : "OEM", "OEMDiagnosticDataType": "ALL"}' | jq
示例响应
{ "@odata.context": "/redfish/v1/$metadata#Task.Task", "@odata.id": "/redfish/v1/TaskService/Tasks/2", "@odata.type": "#Task.v1_4_2.Task", "Description": "Task for Manager CollectDiagnosticData", "Id": "2", "Name": "Manager CollectDiagnosticData", "TaskState": "New" }
将任务编号更改为从步骤 1 返回的相应任务
Id
,并监视任务完成情况,直到PercentComplete
达到100
。curl -k -u <bmc-user>:<password> --request GET 'https://<bmc-ip-address>/redfish/v1/TaskService/Tasks/2' | jq
示例响应
{ "@odata.context": "/redfish/v1/$metadata#Task.Task", "@odata.etag": "\"1723565599\"", "@odata.id": "/redfish/v1/TaskService/Tasks/2", "@odata.type": "#Task.v1_4_2.Task", "Description": "Task for Manager CollectDiagnosticData", "EndTime": "2024-08-13T16:28:15+00:00", "Id": "2", "Messages": [ { "@odata.type": "#Message.v1_0_8.Message", "Message": "Indicates that a DiagnosticDump of was created at /redfish/v1/Managers/BMC/LogServices/DiagnosticLog/Attachment/nvidiadiag-HT9buy.tar.gz", "MessageArgs": [ "/redfish/v1/Managers/BMC/LogServices/DiagnosticLog/Attachment/nvidiadiag-HT9buy.tar.gz" ], "MessageId": "Ami.1.0.0.DiagnosticDumpCreated", "Resolution": "None", "Severity": "Warning" }, { "@odata.type": "#Message.v1_0_8.Message", "Message": "Task /redfish/v1/Managers/BMC/LogServices/DiagnosticLog/Actions/LogService.CollectDiagnosticData has completed.", "MessageArgs": [ "/redfish/v1/Managers/BMC/LogServices/DiagnosticLog/Actions/LogService.CollectDiagnosticData" ], "MessageId": "Task.1.0.Completed", "Resolution": "None", "Severity": "OK" } ], "Name": "Manager CollectDiagnosticData", "PercentComplete": 100, "StartTime": "2024-08-13T16:13:20+00:00", "TaskState": "Completed", "TaskStatus": "OK" }
在
TaskState
字段报告Completed
后,使用MessageArgs
提供的路径下载附件curl -k -u <bmc-user>:<password> --request GET 'https://<bmc-ip-address>/redfish/v1/Managers/BMC/LogServices/DiagnosticLog/Attachment/nvidiadiag-HT9buy.tar.gz' --output nvidiadiag-HT9buy.tar.gz
清除 BIOS 并重置为出厂默认设置#
要清除 BIOS 并将系统重置为出厂默认设置
curl -k -u <username>:<password> --request POST --location 'https://<bmcip>/redfish/v1/UpdateService/Actions/Oem/NvidiaUpdateService.ClearNVRAM' --header 'Content-Type: application/json' \
--data '{"Targets": ["/redfish/v1/UpdateService/FirmwareInventory/HostBIOS_0"]}'
查询 GPU 功率限制#
要查询当前的 GPU 功率限制
curl -k -u <username>:<password> https://<bmc>/redfish/v1/Systems/HGX_Baseboard_0/Processors/GPU_SXM_<id>/EnvironmentMetrics
其中
<bmc>
是 BMC IP 地址。<id>
是 GPU 实例编号,从1
到8
。
如下面的示例输出所示,
Reading
字段指示当前功耗,SetPoint
字段指示当前的 GPU 功率限制。... "PowerLimitWatts": { "AllowableMax": 700, "AllowableMin": 200, "ControlMode": "Automatic", "DefaultSetPoint": 700, "Reading": 64.388, "SetPoint": 700 } ...
功率封顶#
服务#
要发现可用的服务
curl -k -u <bmc-user>:<password> https://<bmcip>/redfish/v1/Managers/BMC/NodeManager
示例响应
{
"@odata.context": "/redfish/v1/$Metadata#NvidiaNodeManager.NvidiaNodeManager",
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager",
"@odata.type": "#NvidiaNodeManager.v1_0_0.NvidiaNodeManager",
"ActiveDomain": {
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/12"
},
"Id": "NvidiaNodeManager",
"Name": "NvidiaNodeManager",
"NvidiaNmDomains": {
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains"
},
"NvidiaPSUPolicies": {
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/PSUPolicies"
}
}
域#
有几个预定义的域。如果未设置域,则显示默认域。
要获取域列表
域列表包含一组固定域(例如,0-5),后跟从 10 开始的自定义域。
请求
curl -k -u <bmc-user>:<password> https://<bmcip>/redfish/v1/Managers/BMC/NodeManager/Domains
示例响应
{ "@odata.context": "/redfish/v1/$Metadata#NvidiaNmDomainCollection.NvidiaNmDomainCollection", "@odata.id": "/redfish/v1/Managers/BMC/NvidiaNmDomainCollection", "@odata.type": "#NvidiaNmDomainCollection.NvidiaNmDomainCollection", "Members": [ { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/1" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/4" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/2" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/3" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/5" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/10" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/11" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/12" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/13" } ], "Members@odata.count": 10, "Name": "NvidiaNmDomainCollection" }
要查看域策略
域策略描述了域的限制和关联的策略
最重要的字段是
Min 和 Max
:功率限制,在Capabilities
下定义。反映的值是系统特定的。Status
:指示域策略是否已启用。Policy State
:指示此策略当前是否生效。
curl -k -u <bmc-user>:<password> https://<bmcip>/redfish/v1/Managers/BMC/NodeManager/Domains/<DomainID>
例如,要查看域 0 中的策略
curl -k -u <bmc-user>:<password> https://<bmcip>/redfish/v1/Managers/BMC/NodeManager/Domains/0
示例响应
{ "@odata.context": "/redfish/v1/$Metadata#NvidiaNmDomain.NvidiaNmDomain", "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0", "@odata.type": "#NvidiaNmDomain.v1_4_0.NvidiaNmDomain", "Capabilities": { "Max": 16500, "MaxCorrectionTimeInMs": 2000, "MaxStatisticsReportingPeriod": "2000", "Min": 5000, "MinCorrectionTimeInMs": 1000, "MinStatisticsReportingPeriod": "1000" }, "Id": "0", "Name": "protection", "Policies": { "@odata.context": "/redfish/v1/$Metadata#NvidiaNmPolicyCollection.NvidiaNmPolicyCollection", "@odata.type": "#NvidiaNmPolicyCollection.NvidiaNmPolicyCollection", "Members": [ { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0/Policies/0" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0/Policies/1" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0/Policies/2" } ], "Name": "NvidiaNmPolicyCollection" }, "Status": { "State": "Enabled" } }
要查看域内的策略
每个域都有一组策略,用于定义如何管理每个组件。功率基于百分比分配,组件不得超过特定预算。
目前,可能有三种策略。策略的数量因系统而异,具体取决于实体是否支持电源管理。
最重要的字段是
Limit
:指示可以分配给此设备的最大功率。PercentageofDomainBudget
:可以分配多少预算。Status
:策略是否生效。这由域策略状态决定
通常,该算法始终使用
PercentageofDomainBudget
。curl -k -u <bmc-user>:<password> https://<bmcip>/redfish/v1/Managers/BMC/NodeManager/Domains/0/Policies/<PolicyID>
例如,要查看域 0 中的策略 0
curl -k -u <bmc-user>:<password> https://<bmcip>/redfish/v1/Managers/BMC/NodeManager/Domains/0/Policies/0
示例响应
{ "@odata.context": "/redfish/v1/$Metadata#NvidiaNmPolicy.NvidiaNmPolicy", "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0/Policies/0", "@odata.type": "#NvidiaNmPolicy.v1_2_0.NvidiaNmPolicy", "AssociatedDomainID": { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0" }, "ComponentId": "COMP_MEMORY", "Id": "0", "Limit": 800, "Name": "0", "PercentageOfDomainBudget": 15, "Status": { "State": "Disabled" } }
在此示例中,策略 0 定义了域 0 的预算百分比。两个插槽的 CPU 预算为 800 瓦,平均分配。
PercentageOfDomainBudget
字段指示将分配给 CPU 的总预算的百分比,在此示例中显示为 15%。
自定义策略#
要添加自定义策略,请使用以下模板并为突出显示的字段指定值。自定义域 ID 从 10 开始。
引擎将在提供的配置字段中添加百分比值和功率值。对于以下情况,将发出错误消息
功率超过
Max
值或低于域功率的Min
值。PercentageOfDomainBudget
值加起来超过 100%。
模板
{
"@odata.context": "/redfish/v1/$Metadata#NvidiaNmDomain.NvidiaNmDomain",
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0",
"@odata.type": "#NvidiaNmDomain.v1_4_0.NvidiaNmDomain",
"Capabilities": {
"Max": 6000.0000,
"Min": 4000.0000
},
"Id": "0",
"Name": "custom4",
"Status": {
"State": "Enabled"
},
"Policies": {
"@odata.context": "/redfish/v1/$Metadata#NvidiaNmPolicyCollection.NvidiaNmPolicyCollection",
"@odata.type": "#NvidiaNmPolicyCollection.NvidiaNmPolicyCollection",
"Members": [
{
"@odata.context": "/redfish/v1/$Metadata#NvidiaNmPolicy.NvidiaNmPolicy",
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0/Policies/0",
"@odata.type": "#NvidiaNmPolicy.v1_2_0.NvidiaNmPolicy",
"AssociatedDomainID": {
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0"
},
"ComponentId": "COMP_CPU",
"Id": "0",
"Limit": 500.0000,
"PercentageOfDomainBudget": 15.0000,
"Name": "0"
},
{
"@odata.context": "/redfish/v1/$Metadata#NvidiaNmPolicy.NvidiaNmPolicy",
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0/Policies/1",
"@odata.type": "#NvidiaNmPolicy.v1_2_0.NvidiaNmPolicy",
"ComponentId": "COMP_MEMORY",
"Id": "0",
"Limit": 500.0000,
"PercentageOfDomainBudget": 15.0000,
"Name": "0"
},
{
"@odata.context": "/redfish/v1/$Metadata#NvidiaNmPolicy.NvidiaNmPolicy",
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0/Policies/2",
"@odata.type": "#NvidiaNmPolicy.v1_2_0.NvidiaNmPolicy",
"AssociatedDomainID": {
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/0"
},
"ComponentId": "COMP_GPU",
"Id": "0",
"Limit": 5000.0000,
"PercentageOfDomainBudget": 70.0000,
"Name": "0"
}
],
"Members@odata.count": 3,
"Name": "NvidiaNmPolicyCollection"
}
}
要创建新的域策略
curl -k -u <bmc-user>:<password> -X POST https://<BMC>/redfish/v1/Managers/BMC/NodeManager/Domains --data @<pathtojsonfile>
示例响应
{ "@odata.context": "/redfish/v1/$Metadata#NvidiaNmDomain.NvidiaNmDomain", "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/14", "@odata.type": "#NvidiaNmDomain.v1_4_0.NvidiaNmDomain", "Capabilities": { "Max": 9000, "MaxCorrectionTimeInMs": 0, "MaxStatisticsReportingPeriod": "0", "Min": 6000, "MinCorrectionTimeInMs": 0, "MinStatisticsReportingPeriod": "0" }, "Id": "14", "Name": "custom4", "Policies": { "@odata.context": "/redfish/v1/$Metadata#NvidiaNmPolicyCollection.NvidiaNmPolicyCollection", "@odata.type": "#NvidiaNmPolicyCollection.NvidiaNmPolicyCollection", "Members": [ { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/14/Policies/0" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/14/Policies/1" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/14/Policies/2" } ], "Name": "NvidiaNmPolicyCollection" }, "PolicyState": "Disabled", "Status": { "State": "Enabled" } }
要修补自定义域策略,请仅提供您要进行的配置更改。
错误响应的状态代码
500
:指示特定字段的格式定义不正确时出错。400
:指示一个或多个字段不正确。通常,这将用于超出范围的限制。
PSU 策略#
电源供应单元 (PSU) 策略是只读的。PSU 策略根据活动电源的数量设置系统的总可用功率预算。生效的 PSU 策略强制执行域策略的选择方式。
要查看 PSU 策略列表
curl -k -u <bmc-user>:<password> https://<bmcip>/redfish/v1/Managers/BMC/NodeManager/PSUPolicies
示例响应
{ "@odata.context": "/redfish/v1/$Metadata#NvidiaNmPSUPolicyCollection.NvidiaNmPSUPolicyCollection", "@odata.id": "/redfish/v1/Managers/BMC/NvidiaNmPSUPolicyCollection", "@odata.type": "#NvidiaNmPSUPolicyCollection.NvidiaNmPSUPolicyCollection", "Members": [ { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/PSUPolicies/0" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/PSUPolicies/1" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/PSUPolicies/2" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/PSUPolicies/3" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/PSUPolicies/4" } ], "Members@odata.count": 5, "Name": "NvidiaNmPSUPolicyCollection" }
要查看 PSU 策略
curl -k -u <bmc-user>:<password> https://<bmcip>/Managers/BMC/NodeManager/PSUPolicies/<PSUPolicyID>
例如,要查看 PSU 策略 0
curl -k -u <bmc-user>:<password> https://<bmcip>/Managers/BMC/NodeManager/PSUPolicies/0
示例响应
{ "@odata.context": "/redfish/v1/$Metadata#NvidiaNmPSUPolicy.NvidiaNmPSUPolicy", "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/PSUPolicies/0", "@odata.type": "#NvidiaNmPSUPolicy.v1_2_0.NvidiaNmPSUPolicy", "Id": "0", "LimitMax": 6000, "MaxPSU": 2, "MinPSU": 2, "Name": "Limp", "Status": { "State": "Disabled" } }
PSU 策略 0 定义了 PSU 的数量以及将分配给系统的功率,最多两个 PSU。
要查看指标报告
指标报告捕获与系统功率行为相关的所有关键值。
示例请求
curl -k -u <bmc-user>:<password> https://<bmcip>/redfish/v1/TelemetryService/MetricReports/NvidiaNMMetrics_0
示例响应
{ "@odata.id": "/redfish/v1/TelemetryService/MetricReports/NvidiaNMMetrics_0", "@odata.type": "#MetricReport.v1_4_2.MetricReport", "Id": "NvidiaNMMetrics_0", "MetricReportDefinition": { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/NvidiaNMMetrics_0", "MetricProperties": [] }, "MetricValues": [ { "MetricId": "Domain_Policy_Active", "MetricValue": "12", "Timestamp": "2024-10-25T16:05:23+00:00" }, { "MetricId": "PSU_Active_Policy", "MetricValue": "4", "Timestamp": "2024-10-25T16:05:23+00:00" }, { "MetricId": "PSU_Redundancy_Policy", "MetricValue": "0", "Timestamp": "2024-10-25T16:05:23+00:00" }, { "MetricId": "dcPlatformPower_avg", "MetricValue": "2549.00", "Timestamp": "2024-10-25T16:05:23+00:00" }, ... { "MetricId": "gpuPowerCapabilitiesMax_7", "MetricValue": "1000.00", "Timestamp": "2024-10-25T16:05:23+00:00" } ], "Name": "NvidiaNMMetrics_0" }
指标定义# 指标 ID
定义
示例指标值
PSU_Active_Policy
当前活动 PSU 策略,对应于 /redfish/v1Managers/BMC/NodeManager/PSUPolicies/<PSU_Active_Policy>
0-N
Domain_Policy_Active
当前活动域策略,对应于 /redfish/v1/Managers/BMC/NodeManager/Domains/<Domain_Policy_Active>
0-N
dcPlatformPower_avg
平台的总直流电源
2181.00
dcPlatformPowerDGX_avg
非 GPU 基板组件的总直流电源
1444.00
dcPlatformPowerHGX_avg
GPU 基板的总直流电源
736.00
dcPlatformEnergy
平台总能量(需要复查)
2181.00
dcPlatformPowerLimit1
0.00
dcPlatformPowerLimit2
0.00
PSU_Redundancy_Policy
当前策略活动 PSU 策略
0
FixPwrDGXAvg
非 GPU 基板上固定组件(例如,风扇、NVMe 等)的功率。不包括 CPU 和内存
1005.00
FixPwrHGXAvg
GPU 基板上固定组件的功率。不包括 GPU
222.00
FixPwrAverage
平台的总固定值
1228.00
AvblNoCPU
CPU 数量
2
AvblNoGPU
GPU 数量
8
PSU_WORKING_CNT
PSU 总数
6
DIMM_Count_Total
DIMM 总数
32
GPU_PWR_BRAKE
断电状态
0
GPU_PWR_PRSNT
指示 GPU 基板已通电
1
CPU_PWR_UNIT
CPU 功率的 Intel PWR 单元
3
CPU_TIM_UNIT
CPU 能量的 Intel 时间单元
10
CPU_ENERGY_UNIT
CPU 的 Intel 能量单元
14
cpuPackagePower_avg_0
CPU0 的平均功率
193
cpuEnergy_0
CPU 0 的能量
196.00
coreEfficiency_0
CPU 0 的核心效率
61671.00
cpuPackagePowerCapabilitiesMin_0
CPU 0 的功率能力最小值
209
cpuPackagePowerCapabilitiesMax_0
CPU 0 的功率能力最大值
350
cpuPackagePowerLimit1_0
CPU 功率限制 1
400.00
cpuPackagePowerLimit2_0
CPU 功率限制 2
400.00
prochotRatioCapabilitiesMin_0
CPU 0 的 PROC 热比率最小能力(最小频率)
500
prochotRatioCapabilitiesMax_0
CPU 0 的 PROC 热比率最大能力(PROC 热断言时允许的最大频率)
2000
turboRatioCapabilitiesMin_0
CPU 0 的睿频比率最小能力(最小频率)
500
turboRatioCapabilitiesMax_0
CPU 0 的睿频比率最大能力(最大频率)
3800
CPU_PWR_UNIT
CPU 功率的 Intel PWR 单元
3
CPU_TIM_UNIT
CPU 能量的 Intel 时间单元
10
CPU_ENERGY_UNIT
CPU 的 Intel 能量单元
14
cpuPackagePower_avg_1
CPU1 的平均功率
182
cpuEnergy_1
CPU 1 的能量
185.00
coreEfficiency_1
CPU 1 的核心效率
62203.00
cpuPackagePowerCapabilitiesMin_1
CPU 1 的功率能力最小值
209
cpuPackagePowerCapabilitiesMax_1
CPU 1 的功率能力最大值
350
cpuPackagePowerLimit1_1
CPU 功率限制 1
400.00
cpuPackagePowerLimit2_1
CPU 功率限制 2
400.00
prochotRatioCapabilitiesMin_1
CPU 1 的 PROC 热比率最小能力(最小频率)
500
prochotRatioCapabilitiesMax_1
CPU 1 的 PROC 热比率最大能力(PROC 热断言时允许的最大频率)
2000
turboRatioCapabilitiesMin_1
CPU 1 的睿频比率最小能力(最小频率)
500
turboRatioCapabilitiesMax_1
CPU 1 的睿频比率最大能力(最大频率)
3800
DIMM_Count_Socket_0
插槽 0 的 DIMM 数量
16.00
dramPackagePowerCapabilitiesMax_0
插槽 0 的 DRAM 功率能力最小值
35.00
dramPackagePowerCapabilitiesMin_0
插槽 0 的 DRAM 功率能力最大值
0.00
dramEnergy_0
插槽 0 的 DRAM 能量
30.00
dramPowerLimit_0
插槽 0 的 DRAM 功率限制
300.00
dramPower_avg_0
插槽 0 的 DRAM 平均功率
30.00
DIMM_Count_Socket_1
插槽 1 的 DIMM 数量
16.00
dramPackagePowerCapabilitiesMax_1
插槽 1 的 DRAM 功率能力最小值
35.00
dramPackagePowerCapabilitiesMin_1
插槽 1 的 DRAM 功率能力最大值
0.00
dramEnergy_1
插槽 1 的 DRAM 能量
34.00
dramPowerLimit_1
插槽 1 的 DRAM 功率限制
300.00
dramPower_avg_1
插槽 1 的 DRAM 平均功率
36.00
gpuPower_avg_0
GPU 0 平均功率
63.00
gpuPowerLimit_0
GPU 0 功率限制
700.00
gpuPowerCapabilitiesMin_0
GPU 0 最小功率限制
200.00
gpuPowerCapabilitiesMax_0
GPU 0 最大功率限制
700.00
gpuPower_avg_1
GPU 1 平均功率
65.00
gpuPowerLimit_1
GPU 1 功率限制
700.00
gpuPowerCapabilitiesMin_1
GPU 1 最小功率限制
200.00
gpuPowerCapabilitiesMax_1
GPU 1 最大功率限制
700.00
gpuPower_avg_2
GPU 2 平均功率
65.00
gpuPowerLimit_2
GPU 2 功率限制
700.00
gpuPowerCapabilitiesMin_2
GPU 2 最小功率限制
200.00
gpuPowerCapabilitiesMax_2
GPU 2 最大功率限制
700.00
gpuPower_avg_3
GPU 3 平均功率
63.00
gpuPowerLimit_3
GPU 3 功率限制
700.00
gpuPowerCapabilitiesMin_3
GPU 3 最小功率限制
200.00
gpuPowerCapabilitiesMax_3
GPU 3 最大功率限制
700.00
gpuPower_avg_4
GPU 4 平均功率
63.00
gpuPowerLimit_4
GPU 4 功率限制
700.00
gpuPowerCapabilitiesMin_4
GPU 4 最小功率限制
200.00
gpuPowerCapabilitiesMax_4
GPU 4 最大功率限制
700.00
gpuPower_avg_5
GPU 5 平均功率
64.00
gpuPowerLimit_5
GPU 5 功率限制
700.00
gpuPowerCapabilitiesMin_5
GPU 5 最小功率限制
200.00
gpuPowerCapabilitiesMax_5
GPU 5 最大功率限制
700.00
gpuPower_avg_6
GPU 6 平均功率
66.00
gpuPowerLimit_6
GPU 6 功率限制
700.00
gpuPowerCapabilitiesMin_6
GPU 6 最小功率限制
200.00
gpuPowerCapabilitiesMax_6
GPU 6 最大功率限制
700.00
gpuPower_avg_7
GPU 7 平均功率
64.00
gpuPowerLimit_7
GPU 7 功率限制
700.00
gpuPowerCapabilitiesMin_7
GPU 7 最小功率限制
200.00
gpuPowerCapabilitiesMax_7
GPU 7 最大功率限制
700.00