AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 444200
Accepted
Tiago Pimenta
Tiago Pimenta
Asked: 2018-05-17 08:44:30 +0800 CST2018-05-17 08:44:30 +0800 CST 2018-05-17 08:44:30 +0800 CST

如何防止GPU过热和自动关闭

  • 772

我想知道 Linux 如何处理游戏玩家计算机,所以我构建了一个,但我们知道 GeForce 不像 AMD 那样喜欢 Linux,这就是我选择最后一个的原因。

我用 AMD Ryzen 7 1800X CPU 和 Radeon RX 560D GPU 构建了一台计算机,因为 Vega 对我来说太贵了,而且基准测试表明 560 是目前最好的成本效益比。

经过一番研究,我发现后缀 D 意味着与没有 D 的 RX560 相比,它的时钟速度略低一些,以节省一些功耗。

在随机游戏无数次崩溃后,我终于发现问题是GPU过热,它的风扇速度倾向于跟随CPU风扇速度,但当然在某些游戏中CPU比GPU要求低得多。

我通过根据GPU温度而不是CPU自定义风扇速度部分解决了这个问题,它现在逐渐增长,并在50摄氏度时达到最高速度,但问题是:在某些游戏中它一直保持在最高速度,最终仍然崩溃。

描述崩溃:屏幕闪烁然后变黑,GPU风扇停止,键盘指示灯闪烁然后关闭,鼠标相同,其他CPU风扇保持,有时系统永远冻结,有时系统自动重启。

由于需要重新启动,我在系统日志上找不到任何提示,最初我认为这是内核崩溃,但即使使用kdump并复制内核,系统仍然会崩溃,我无法恢复它。

我不知道 Windows 是否会遇到同样的问题,但我坚信不会,我从未见过有人在 Windows 上遇到同样的问题,所以我的问题是:有一些方法可以告诉内核让 GPU 轻松应对当它即将过热时,也许只是自动降低GPU时钟速度?

cpu gpu
  • 1 1 个回答
  • 1922 Views

1 个回答

  • Voted
  1. Best Answer
    Tiago Pimenta
    2018-05-17T16:29:38+08:002018-05-17T16:29:38+08:00

    我找到了解决办法,文件上有一些/sys/class/drm/card0/device文件pp_dpm_mclk表示GPU内存时钟,文件pp_dpm_sclk表示GPU核心时钟,我的:

    $ egrep -H . /sys/class/drm/card0/device/pp_dpm_*
    /sys/class/drm/card0/device/pp_dpm_mclk:0: 300Mhz 
    /sys/class/drm/card0/device/pp_dpm_mclk:1: 1500Mhz *
    /sys/class/drm/card0/device/pp_dpm_pcie:0: 2.5GB, x8 *
    /sys/class/drm/card0/device/pp_dpm_pcie:1: 8.0GB, x16 
    /sys/class/drm/card0/device/pp_dpm_sclk:0: 214Mhz *
    /sys/class/drm/card0/device/pp_dpm_sclk:1: 481Mhz 
    /sys/class/drm/card0/device/pp_dpm_sclk:2: 760Mhz 
    /sys/class/drm/card0/device/pp_dpm_sclk:3: 1000Mhz 
    /sys/class/drm/card0/device/pp_dpm_sclk:4: 1050Mhz 
    /sys/class/drm/card0/device/pp_dpm_sclk:5: 1100Mhz 
    /sys/class/drm/card0/device/pp_dpm_sclk:6: 1150Mhz 
    /sys/class/drm/card0/device/pp_dpm_sclk:7: 1196Mhz 
    

    该文件power_dpm_force_performance_level指示配置文件,可以是low,auto或者manual,默认是auto,当low它始终以最低时钟运行时,这不是我想要的,所以我将它设置为manual并制作了一个脚本,该脚本会根据 GPU 不断更改时钟温度,瞧,它起作用了!

    要更改manual配置文件上的时钟,只需将一个数字写入pp_dpm_sclk代表该行的文件,从 开始0,在我的情况下为 until 7。

    如果您对我的脚本感兴趣,就在这里。

    • 4

相关问题

  • ssh 到嵌套服务器并收集一些信息

  • CPU 怎么知道有 IO 挂起?

  • 机器总运行时间

  • 对于没有 X 的最小 CLI 系统,我是否需要帧缓冲驱动程序?

  • 为什么 OpenVZ 容器中的 nproc 和 nproc --all 的 CPU 计数不同?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve