注意:超频有风险,请勿操作。

在 Linux 系统下进行显卡超频,一般是通过图形界面的 Nvidia X settings 或者 GreenWithEnvy。然而,对远程主机而言,可能会出现CUDA Cores任务能提交,但 Nvidia 相关软件在 X 中(透过 VNC 或者 TeamViewer 启动)无法加载选项的情况。如图 1 所示,只有 Prime Profile 一个选项,其他选项消失不见。在这种情况下 GreenWithEnvy 也是无法启动的,会提示 NV CONTROL X extension not found (无图)。

图1
(图1,Nvidia X setting 只有 Prime profile选项,其他选项都不存在)

尝试更换设定 coolbits,重装 Nvidia 驱动,更改 Nvidia 驱动版本,重装 Cuda,重装 X 及桌面,均无法解决问题。原因可能是板载显卡处于启用状态导致NVIDIA Optimus出问题,但在内核中禁用 Intel 后仍未解决。按理说能透过命令行提交 CUDA Cores 任务就代表驱动已经加载成功,所以,透过命令行进行超频操作是解决这种情况最好的方向。本文收集并整理了在 Ubuntu 20.04 系统下透过命令行对 Nvidia 显卡进行超频的步骤。

0. 事前准备

首先必须安装 Nvidia CUDA,在官网中有不同系统的详细步骤。以下为 Ubuntu 20.04 安装指令,从官网复制。

1. 安装X以及在X中加入GPU选项

Nvidia 超频必须调用 X,原因不明。最轻量的方式就是安装 lightdm. 如果在安装过程中有交互窗口要求选择默认桌面,请选择lightdm 而不是 gdm.

调用Nvidia软件生成Xorg配置

Cool-bits 用于开启 CLI控制、风扇控制、内存频率控制等操作,24 代表开启所有功能,具体位表可在[1]查看。--enable-all-gpus 参数代表对主机上的所有显卡都启用。

期望输出如下

如果出现 Unable to count GPU / Unable to locate/open X configuration file 等错误,则需要在重启主机后重新执行上述命令。

接下来编辑 /etc/X11/xorg.conf 文件,找到 Options Cool-bits 行,加入以下选项,以允许在没有连接显示器的情况下运行 X (Headless X server).

锁定xorg文件防止lightdm, nvidia等软件修改

此时需要重启主机

2. 启动 X 并检测 GPU 参数

主机重启完成后,执行以下指令启动 X

如果出现错误,请查看 /var/log/Xorg.0.log 文件。

查看 GPU 优先模式,[gpu:0] 代表第0个GPU,编号与 nvidia-smi 命令输出结果对应。

以下是一张 RTX 2060 的输出例子

在这里,每个优先级别均以分号;隔开,在这里我们关心 memclockeditable 和 nvclockeditable 参数,分别代表内存和核心是否可以更改。如果值为 1 则代表可以更改。

perf 代表不同的级别,显卡正常工作于最高级别(在这个例子里面为4),当显卡过热的时候,会降级到级别 3,如果再过热则降到 2,以此类推。因此,对于普通超频操作,我们只需要更改最高级别的参数,以免损坏显卡。

-q 查询参数还能查询其他值,例如 '-q gpus' 输出所有 GPU, '-q fans' 输出风扇状态,'-q all' 输出所有参数等。

3. 超频及降电

执行以下指令即可对GPU超频

DISPLAY 及/var/run/lightdm/root/:0 是我们在第2步启动的lightdm,默认编号是 0. 如果主机启用了多个显示,则需要按需更改。

[gpu:0]/GPUMemoryTransferRateOffset[4]=100 代表在第 0 个 GPU 的第 4 个级别上对内存频率增加 100。 这里也可以使用 '[gpu:0]/GPUGraphicsClockOffset[4]=50' 代表在第 0 个GPU 的第 4 个级别对核心频率增加 50. 增加值建议从小值开始,慢慢往上加。

使用以下指令可以更改 GPU 风扇速度,对于超频一般不需要更改 GPU 风扇,默认自动就好。

使用 nvidia-smi 查看电量情况

RTX 2060 输出例子

使用以下指令可以降低最大电量。

其中 0 为第 0 个 GPU,130 为新设定最大电量值。省略 -i 参数则对所有 GPU 应用。

Reference

[1] NVIDIA/Tips and tricks
[2] NV-CONTROL X extention not found
[3] X Server Settings - Only Shows PRIME Profiles
[4] Headless Ethminer (nVidia) Setup Guide
[5] Ubuntu Nvidia Overclocking, Heat and Power Management
[6] Xorg Monitor Settings- ArchWiki
[7] NVIDIA Optimus

   

已有 2 條評論

  1. chenjl 3 年前 (2021-09-04)
    @

    你好,受教了,你这方法我倒是能够运行起来。
    但是发现风扇不受控,而且还一直维持在低速30%,想超频反而不敢超了
    请问这个怎么解决呢?

  2. 你爸爸 4 年前 (2021-04-08)
    @

    什么j8