Redfish API 支持#
DGX 系统固件支持 Redfish API。Redfish 是 DMTF 的标准 API 集,用于管理和监控平台。默认情况下,DGX H100/H200 BMC 和 SBIOS 中启用了 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 H100/H200 中支持的 Redfish 功能的一些信息。
支持以下功能
管理用户帐户、权限和角色
管理器会话
BMC 配置
SBIOS 配置
SBIOS 启动顺序管理
更改 UEFI 安全启动平台密钥
获取 PCIe 设备和功能清单
获取存储清单
获取系统组件信息和运行状况(PSU、FAN、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/2' --header 'If-Match: *' --header 'Content-Type: application/json' --data-raw '{ "Password" : "<password>" }'
password
字段是必填字段,并且必须满足以下要求至少 13 个字符长,但不超过 20 个字符。
至少 1 个小写字母 (
a
-z
)。至少 1 个大写字母 (
A
-Z
)。至少 1 个数字 (
0
-9
)。至少 1 个特殊字符 (
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
)。不允许使用空格。
重置 BMC
以下
curl
命令强制重置 DGX H100/H200 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 H100/H200 系统中的 GPU 托盘组件,无论您要更新哪个 GPU 托盘组件,都需要指定
HGX_0
作为目标。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_HGX_DGXH100-H200x8_xxxxxx.x.x.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 H100/H200 BMC。HostBIOS_0
— 这是 DGX H100/H200 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_xxxxxx.x.x.fwpkg
固件文件。强制更新
仅当传入固件版本比现有版本更新时,才会更新 DGX H100/H200 系统组件固件。要覆盖此行为并强制刷新组件,请指定
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 H100/H200 固件更新指南》中的“固件更新激活”以获取更多信息。
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 H100/H200 上的启动顺序#
要使用 Redfish API 修改 DGX H100/H200 上的启动顺序,请按照此过程中的步骤操作。
读取当前启动顺序。
从与 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 或再次运行此过程来完成。
更改 UEFI 安全启动平台密钥#
您可以通过以下两种方式更改 UEFI 安全启动平台密钥 (PK)
注册由当前 PK 签名的新密钥。
当系统处于安全启动设置模式时,注册任何新密钥,如本过程所述。
当未注册任何安全启动 PK 时,将进入此模式。在注册任何任意密钥作为新 PK 之前,请先删除当前的 PK。注册新 PK 后,安全启动状态将自动从设置模式更新为用户模式。
使用
PATCH
方法将SecureBootEnable
操作设置为false
。curl -ks -u <bmc-user>:<password> -H "Content-Type: application/json" -X PATCH https://<bmc-ip-address>/redfish/v1/Systems/DGX/SecureBoot --header 'If-Match: "1721382290"' -d '{"SecureBootEnable":false}' | jq
使用
DELETE
方法删除当前 PK。curl -ks -u <bmc-user>:<password> -H "Content-Type: application/json" -X DELETE https://<bmc-ip-address>/redfish/v1/Systems/DGX/SecureBoot/SecureBootDatabases/PK/Certificates/1 | jq
使用
POST
方法添加新 PK。curl -ks -u <bmc-user>:<password> -H "Content-Type: application/json" -X POST https://<bmc-ip-address>/redfish/v1/Systems/DGX/SecureBoot/SecureBootDatabases/PK/Certificates -d '{ "CertificateString": "-----BEGIN CERTIFICATE-----\n ... \n-----END CERTIFICATE-----", "CertificateType": "PEM", "UefiSignatureOwner": "<GUID-of-the-UEFI-signature-owner>" }'
其中
CertificateString
字符串是以-----BEGIN CERTIFICATE
开头的证书。CertificateType
字符串是证书的格式,即 Privacy Enhanced Mail (PEM) 编码的单个证书。UefiSignatureOwner
字符串 (UUID) 是此签名的 UEFI 签名所有者。
重新启动系统以使更改生效。
curl -ks -u <bmc-user>:<password> -H "Content-Type: application/json" -X POST https://<bmc-ip-address>/redfish/v1/Systems/DGX/Actions/ComputerSystem.Reset -d '{ "ResetType": "ForceRestart"}' | jq
等待操作系统启动。
系统启动后,检查 PK 凭据,查看是否列出了新证书。
curl -ks -u <bmc-user>:<password> https://<bmc-ip-address>/redfish/v1/Systems/DGX/SecureBoot/SecureBootDatabases/PK/Certificates/2 | jq
遥测#
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 配置,例如
bmc-config.bak
。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 配置,例如
bmc-config.bak
。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
注意
对于早于 24.09.17 的 BMC 版本,请指定
--data-raw '{"DiagnosticDataType" : "OEM"}'
。示例响应
{ "@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
注意
对于早于 24.09.17 的 BMC 版本,请使用以下命令
curl -k -u <bmc-user>:<password> --request GET 'https://<bmc-ip-address>/redfish/v1/Managers/BMC/LogServices/DiagnosticLog/Entries/All/Attachment' --output debugBMC.tgz
清除 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#NodeManager.NodeManager",
"@odata.etag": "\"1709588153\"",
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager",
"@odata.type": "#NodeManager.v1_0_0.NodeManager",
"Actions": {
"#NodeManager.ChangeState": {
"@Redfish.ActionInfo": "/redfish/v1/Managers/BMC/NodeManager/ChangeStateActionInfo",
"target": "/redfish/v1/Managers/BMC/NodeManager/Actions/NodeManager.ChangeState"
}
},
"Description": "Node Manager for BMC",
"Domains": {
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains"
},
"Id": "NodeManager",
"Name": "Node Manager",
"Policies": {
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Policies"
},
"Status": {
"Health": "OK",
"State": "Disabled"
},
"ThrottlingStatus": {
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/ThrottlingStatus"
},
"Triggers": {
"@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Triggers"
}
}
域#
有几个预定义的域。如果未设置任何域,则显示默认域。
要获取域列表
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" } ], "Members@odata.count": 6, "Name": "NvidiaNmDomainCollection" }
要查看域策略
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": { "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" } }
要查看域内的策略
每个域都有一组策略,用于定义如何管理每个组件。电源按百分比划分,组件不得超过特定预算。
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_CPU", "Id": "0", "Limit": 800, "Name": "0", "PercentageOfDomainBudget": 15, "Status": { "State": "Disabled" } }
在此示例中,策略 0 定义了域 0 的预算百分比。两个插槽的 CPU 预算为 800 W,平均分配。
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/21", "@odata.type": "#NvidiaNmDomain.v1_4_0.NvidiaNmDomain", "Capabilities": { "Max": 6000, "MaxCorrectionTimeInMs": 0, "MaxStatisticsReportingPeriod": "0", "Min": 4000, "MinCorrectionTimeInMs": 0, "MinStatisticsReportingPeriod": "0" }, "Id": "21", "Name": "custom4", "Policies": { "@odata.context": "/redfish/v1/$Metadata#NvidiaNmPolicyCollection.NvidiaNmPolicyCollection", "@odata.type": "#NvidiaNmPolicyCollection.NvidiaNmPolicyCollection", "Members": [ { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/21/Policies/0" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/21/Policies/1" }, { "@odata.id": "/redfish/v1/Managers/BMC/NodeManager/Domains/21/Policies/2" } ], "Name": "NvidiaNmPolicyCollection" }, "Status": { "State": "Enabled" } }
要修补自定义域策略,请仅提供您要进行的配置更改。
要删除自定义域策略
curl -k -u <bmc-user>:<password> -X DELETE /redfish/v1/Managers/BMC/NodeManager/Domains/<DomainID>
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" } ], "Members@odata.count": 3, "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": "dcPlatformPower_avg", "MetricValue": "2181.00", "Timestamp": "2024-07-15T18:49:43+00:00" }, { "MetricId": "dcPlatformPowerDGX_avg", "MetricValue": "1444.00", "Timestamp": "2024-07-15T18:49:43+00:00" }, { "MetricId": "dcPlatformPowerHGX_avg", "MetricValue": "736.00", "Timestamp": "2024-07-15T18:49:43+00:00" }, { "MetricId": "dcPlatformEnergy", "MetricValue": "2181.00", "Timestamp": "2024-07-15T18:49:43+00:00" }, ... { "MetricId": "gpuPowerCapabilitiesMax_7", "MetricValue": "700.00", "Timestamp": "2024-07-15T18:49:43+00:00" } ], "Name": "NvidiaNMMetrics_0" }
指标定义# 指标 ID
定义
示例指标值
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 基板上固定组件(例如 FAN、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