通常,当 GPU 空闲时,它们的功耗仅保持在 15W 左右的极低水平。
但是,就我的情况来说,即使没有任何运行的进程,它们的功耗也保持在100W以上。这很奇怪。
GPU为RTX3090,装载在Ubuntu18.04服务器中。驱动版本为460.80。
命令nvidia-smi的输出截图:
答案1
最后,我成功将空闲功耗降至正常水平。我想我知道发生了什么。
我所做的只是通过 启用了持久模式sudo nvidia-smi -pm 1
。它起作用了,所有 gpu 的空闲功耗都下降到了 10W 左右的正常水平。
但是现在我觉得其实空闲时的功耗并没有我想象的那么高,我猜是因为我查询了这些 gpu 的状态,导致功耗突然升高。
在用户与目标 GPU 设备进行任何交互之前,NVIDIA 内核模式驱动程序必须正在运行并连接到该设备。
当持久模式关闭时,当没有进程访问时,gpu 驱动程序将取消初始化 gpu。正如我用来nvidia-smi
查询这些 gpu 的状态一样。驱动程序将首先初始化 gpu,然后获取状态。初始化导致 gpu 以高功耗运行。因此,我得到错误的信息,即使没有任何工作负载,gpu 功耗也很高。事实上,这是这些 gpu 初始化时的状态。
当持久模式开启时,gpu 不会被取消初始化,因此查询时无需重新初始化。所以我看到的是真实的空闲功耗。