跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

抡锤者

  1. 主页
  2. AI硬件
  3. 大热的3090风冷改造方案 大幅降温稳定AI大脑

大热的3090风冷改造方案 大幅降温稳定AI大脑

已定时 已固定 已锁定 已移动 AI硬件
35 帖子 14 发布者 348 浏览 1 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • imbiplaza ASUSI imbiplaza ASUS

    @terry
    暂时还没研究他的温度,不过摸起来烫手,不能超过三秒
    房里温度27。。。
    ddr4 3200, 默认电压1.35v, 主板自动电压1.21

    5 离线
    5 离线
    566656661
    超凡大师
    编写于 最后由 编辑
    #25

    @imbiplaza-ASUS

    1.35其實算高了

    我DDR5 6400 也就是跑在1.3附近

    而且4條來説很難散熱, 建議用個小風扇吹著

    我上一間公司有試過因爲顯卡在機箱内排熱結果把内存給熱到當掉了

    @terry 说:

    这个内存条散热真的有用吗?会不会是反向效果

    這個内存散熱外殼有用, 但是得必須依靠機箱風流或者CPU的風冷塔散才能發揮效果

    imbiplaza ASUSI 1 条回复 最后回复
    1
    • 5 566656661

      @imbiplaza-ASUS

      1.35其實算高了

      我DDR5 6400 也就是跑在1.3附近

      而且4條來説很難散熱, 建議用個小風扇吹著

      我上一間公司有試過因爲顯卡在機箱内排熱結果把内存給熱到當掉了

      @terry 说:

      这个内存条散热真的有用吗?会不会是反向效果

      這個内存散熱外殼有用, 但是得必須依靠機箱風流或者CPU的風冷塔散才能發揮效果

      imbiplaza ASUSI 离线
      imbiplaza ASUSI 离线
      imbiplaza ASUS
      技术大牛 劳动模范
      编写于 最后由 编辑
      #26

      @566656661
      谢谢,又学到一样东西,无意间提升处理速度,之前 170/it, 现在100/it

      1 条回复 最后回复
      0
      • J joker_chang

        跑什么应用会这么高的温度?
        我的解决方案如下:
        86e40132-6537-43fd-96c4-1d3965cb8639-image.jpeg

        整体用下来,GPU温度从没超过80°

        张老师张 离线
        张老师张 离线
        张老师
        劳动模范 德高望重
        编写于 最后由 编辑
        #27

        @joker_chang 说:

        我的解决方案如下:

        看你图片的意思,两把小风扇是往外吹风,相当于把里面的热风吸走,是这个原理吧?

        1 条回复 最后回复
        0
        • M 离线
          M 离线
          mark
          超凡大师
          编写于 最后由 编辑
          #28

          太牛了 . 加风扇的效果, 还不如 配空调, 我感觉 .

          5 1 条回复 最后回复
          0
          • M mark

            太牛了 . 加风扇的效果, 还不如 配空调, 我感觉 .

            5 离线
            5 离线
            566656661
            超凡大师
            编写于 最后由 编辑
            #29

            @mark 说:

            太牛了 . 加风扇的效果, 还不如 配空调, 我感觉 .

            冷氣只是將周邊的空氣降溫, 硬件本體還是需要風扇帶來的氣流進行散熱

            1 条回复 最后回复
            1
            • A applejuice

              @joker_chang

              z40? 我也用一样机箱 但是侧板装起来
              前面3个风扇抽风
              后面上面一个风扇排风
              里面两个风扇对准GPU

              但是我限制功率245w

              烤机5分钟
              gpu - 70c(fan 70%) /74c (fan 92%)
              vram - 82c/84c
              cpu - 47c

              我感觉我加了那么多风扇 cpu 收益最多😆

              7d7b0279-f31e-4928-94c2-0eed12a07e73-image.jpeg

              P 离线
              P 离线
              pangfat
              编写于 最后由 编辑
              #30

              @applejuice 你这是涡轮卡吧?靠得太近了,上面那个吸不到风,散热也就困难,我的PCIe间隔3-slot我都觉得太近。

              A 1 条回复 最后回复
              0
              • K 在线
                K 在线
                kenshin
                编写于 最后由 编辑
                #31

                风道被打乱了。整机散热要考虑。风应该从散热片抽出。不是对着吹。另外,你们不做防尘吗?机器24小时开着。高贵的显卡很快集尘。多次拆了除尘增加风险。记得做好防尘。

                5 1 条回复 最后回复
                0
                • P pangfat

                  @applejuice 你这是涡轮卡吧?靠得太近了,上面那个吸不到风,散热也就困难,我的PCIe间隔3-slot我都觉得太近。

                  A 离线
                  A 离线
                  applejuice
                  劳动模范 德高望重
                  编写于 最后由 编辑
                  #32

                  @pangfat 说:

                  @applejuice 你这是涡轮卡吧?靠得太近了,上面那个吸不到风,散热也就困难,我的PCIe间隔3-slot我都觉得太近。

                  之前插2slot nvlink 所以被逼这样

                  但是nvlink遇到问题了
                  寄回给 淘宝的华南金牌旗舰店,他们寄给供应商
                  供应商说没问题
                  但是 华南金牌旗舰店 自己测nvlink也是有问题
                  还在扯皮

                  如果再不回来我就要把第2张卡移下一格了

                  A 1 条回复 最后回复
                  0
                  • K kenshin

                    风道被打乱了。整机散热要考虑。风应该从散热片抽出。不是对着吹。另外,你们不做防尘吗?机器24小时开着。高贵的显卡很快集尘。多次拆了除尘增加风险。记得做好防尘。

                    5 离线
                    5 离线
                    566656661
                    超凡大师
                    编写于 最后由 编辑
                    #33

                    @kenshin 说:

                    风道被打乱了。整机散热要考虑。风应该从散热片抽出。不是对着吹。

                    這個是局部風流, 只要機箱的風流方向一開始處理好就不會有問題

                    吹出跟吹入分別不大

                    1 条回复 最后回复
                    0
                    • K 在线
                      K 在线
                      kenshin
                      编写于 最后由 编辑
                      #34

                      我也是集线器,接 CPUFAN。脚本控制全部风扇。包括 CPU 风扇和机箱风扇。根据 CPU 和 GPU 温度控制风扇转速。脚本是 Gemini 写的。
                      按温度跑。
                      pwm集线器接cpufan接口实现gpu+cpu双温控自动化调速脚本。

                      已经将脚本路径、提权指令以及 Systemd 守护进程中的执行路径**全部严格统一为 /usr/local/bin/gpu_fan_control.sh**。同时,将服务名称也顺理成章地对齐为 gpu-fan-control.service,方便日后管理。

                      直接复制并一次性粘贴到终端执行即可:

                      1. 生成并赋予核心脚本权限

                      sudo cat > /usr/local/bin/gpu_fan_control.sh << 'EOF'
                      #!/bin/bash
                      
                      # ==========================================
                      # CPU/GPU 双擎温度联合判定风扇控制脚本 (双向迟滞优化版)
                      # ==========================================
                      
                      # ---------------------------------------------------------
                      # 【模块 1:动态硬件寻址】
                      # ---------------------------------------------------------
                      find_hwmon_by_name() {
                          local name=$1
                          for d in /sys/class/hwmon/hwmon*; do
                              if [ -f "$d/name" ] && [ "$(cat "$d/name")" = "$name" ]; then
                                  echo "$d"
                                  return 0
                              fi
                          done
                          return 1
                      }
                      
                      NCT_DIR=$(find_hwmon_by_name "nct6793")
                      if [ -z "$NCT_DIR" ]; then
                          echo "$(date): FATAL ERROR - Cannot find nct6793 hwmon module." >> /var/log/gpu_fan.log
                          exit 1
                      fi
                      PWM_PATH="${NCT_DIR}/pwm2"
                      PWM_EN="${PWM_PATH}_enable"
                      
                      GPU_DIR=$(find_hwmon_by_name "amdgpu")
                      if [ -z "$GPU_DIR" ]; then
                          echo "$(date): FATAL ERROR - Cannot find amdgpu hwmon module." >> /var/log/gpu_fan.log
                          exit 1
                      fi
                      if [ -f "${GPU_DIR}/temp2_input" ]; then
                          GPU_TEMP_PATH="${GPU_DIR}/temp2_input"
                      else
                          GPU_TEMP_PATH="${GPU_DIR}/temp1_input"
                      fi
                      
                      CPU_DIR=$(find_hwmon_by_name "coretemp")
                      if [ -z "$CPU_DIR" ] || [ ! -f "${CPU_DIR}/temp1_input" ]; then
                          echo "$(date): FATAL ERROR - Cannot find CPU coretemp sensor." >> /var/log/gpu_fan.log
                          exit 1
                      fi
                      CPU_TEMP_PATH="${CPU_DIR}/temp1_input"
                      
                      # ---------------------------------------------------------
                      # 【模块 2:用户温控策略配置区】
                      # ---------------------------------------------------------
                      GPU_MIN_TEMP=50
                      GPU_MAX_TEMP=75
                      CPU_MIN_TEMP=55
                      CPU_MAX_TEMP=85
                      
                      CRITICAL_TEMP=90
                      CRITICAL_PWM=255
                      
                      FAN_MIN_PWM=40
                      FAN_MAX_PWM=200
                      
                      CHECK_INTERVAL=5
                      PWM_DECAY_STEP=8    # 声学阻尼:降温时,单次最大允许降低的 PWM 步长。避免“转速跳水”
                      PWM_HYSTERESIS=5    # 迟滞死区:目标 PWM 变化绝对值 <= 5 时无视变化。屏蔽 1~2℃ 的波动杂音
                      # ---------------------------------------------------------
                      
                      LAST_PWM=-1
                      LOOP_COUNT=0
                      
                      # ---------------------------------------------------------
                      # 【模块 3:安全兜底与进程退出机制】
                      # ---------------------------------------------------------
                      cleanup() {
                          [[ -f "${PWM_EN}" ]] && echo 0 > "${PWM_EN}" 2>/dev/null
                          echo "$(date): Fan controller stopped, restore fan control to BIOS." >> /var/log/gpu_fan.log
                          exit 0
                      }
                      trap cleanup SIGTERM SIGINT
                      
                      if ! echo 1 > "${PWM_EN}" 2>/dev/null; then
                          echo "$(date): FATAL ERROR - Open PWM enable failed, resource busy." >> /var/log/gpu_fan.log
                          exit 1
                      fi
                      
                      echo "$(date): Fan service start success | GPU source:${GPU_TEMP_PATH}" >> /var/log/gpu_fan.log
                      
                      # ---------------------------------------------------------
                      # 【模块 4:常驻温控主循环】
                      # ---------------------------------------------------------
                      while true; do
                          [[ -f "${PWM_EN}" ]] && echo 1 > "${PWM_EN}" 2>/dev/null
                      
                          if [ -f "${GPU_TEMP_PATH}" ]; then
                              GPU_RAW=$(cat "${GPU_TEMP_PATH}" 2>/dev/null || echo 0)
                              GPU_TEMP=$((GPU_RAW / 1000))
                          else
                              GPU_TEMP=0
                          fi
                      
                          if [ -f "${CPU_TEMP_PATH}" ]; then
                              CPU_RAW=$(cat "${CPU_TEMP_PATH}" 2>/dev/null || echo 0)
                              CPU_TEMP=$((CPU_RAW / 1000))
                          else
                              CPU_TEMP=0
                          fi
                      
                          if [ "${CPU_TEMP}" -ge "${CRITICAL_TEMP}" ] || [ "${GPU_TEMP}" -ge "${CRITICAL_TEMP}" ]; then
                              TARGET_PWM=${CRITICAL_PWM}
                              DOMINANT="CRITICAL"
                          else
                              # [GPU 独立计算]
                              if [ "${GPU_TEMP}" -le "${GPU_MIN_TEMP}" ]; then
                                  PWM_G=${FAN_MIN_PWM}
                              elif [ "${GPU_TEMP}" -ge "${GPU_MAX_TEMP}" ]; then
                                  PWM_G=${FAN_MAX_PWM}
                              else
                                  PWM_G=$(( (GPU_TEMP - GPU_MIN_TEMP) * (FAN_MAX_PWM - FAN_MIN_PWM) / (GPU_MAX_TEMP - GPU_MIN_TEMP) + FAN_MIN_PWM ))
                              fi
                      
                              # [CPU 独立计算]
                              if [ "${CPU_TEMP}" -le "${CPU_MIN_TEMP}" ]; then
                                  PWM_C=${FAN_MIN_PWM}
                              elif [ "${CPU_TEMP}" -ge "${CPU_MAX_TEMP}" ]; then
                                  PWM_C=${FAN_MAX_PWM}
                              else
                                  PWM_C=$(( (CPU_TEMP - CPU_MIN_TEMP) * (FAN_MAX_PWM - FAN_MIN_PWM) / (CPU_MAX_TEMP - CPU_MIN_TEMP) + FAN_MIN_PWM ))
                              fi
                      
                              # [取高者原则]
                              if [ "${PWM_C}" -gt "${PWM_G}" ]; then
                                  TARGET_PWM=${PWM_C}
                                  DOMINANT="CPU"
                              else
                                  TARGET_PWM=${PWM_G}
                                  DOMINANT="GPU"
                              fi
                      
                              # [迟滞死区过滤 Hysteresis / Deadband]
                              if [ "${LAST_PWM}" -ne -1 ] && [ "${DOMINANT}" != "CRITICAL" ]; then
                                  PWM_DIFF=$(( TARGET_PWM - LAST_PWM ))
                                  [ "${PWM_DIFF}" -lt 0 ] && PWM_DIFF=$(( -PWM_DIFF )) # 纯净 Bash 取绝对值法
                                  
                                  # 如果变动幅度在迟滞死区内,强制锁定为上一次的转速
                                  if [ "${PWM_DIFF}" -le "${PWM_HYSTERESIS}" ]; then
                                      TARGET_PWM=${LAST_PWM}
                                  fi
                              fi
                      
                              # [渐进降温阻尼过滤 Decay]
                              if [ "${LAST_PWM}" -ne -1 ] && [ "${TARGET_PWM}" -lt "${LAST_PWM}" ]; then
                                  CALC_DECAY=$((LAST_PWM - PWM_DECAY_STEP))
                                  if [ "${CALC_DECAY}" -gt "${TARGET_PWM}" ]; then
                                      TARGET_PWM=${CALC_DECAY}
                                  fi
                              fi
                      
                              # [硬性边界钳位]
                              ((TARGET_PWM < FAN_MIN_PWM)) && TARGET_PWM=${FAN_MIN_PWM}
                              ((TARGET_PWM > CRITICAL_PWM)) && TARGET_PWM=${CRITICAL_PWM}
                          fi
                      
                          # [执行硬件指令]
                          if [ "${TARGET_PWM}" -ne "${LAST_PWM}" ]; then
                              if echo "${TARGET_PWM}" > "${PWM_PATH}" 2>/dev/null; then
                                  LAST_PWM=${TARGET_PWM}
                              else
                                  echo "$(date): WARN write PWM ${TARGET_PWM} failed" >> /var/log/gpu_fan.log
                              fi
                          fi
                      
                          if [ "${LOOP_COUNT}" -eq 0 ]; then
                              echo "$(date '+%Y-%m-%d %H:%M:%S') | CPU:${CPU_TEMP}℃ | GPU:${GPU_TEMP}℃ | Source:${DOMINANT} | PWM:${TARGET_PWM}" >> /var/log/gpu_fan.log
                          fi
                          
                          ((LOOP_COUNT=(LOOP_COUNT+1)%6))
                      
                          sleep "${CHECK_INTERVAL}"
                      done
                      EOF
                      
                      sudo chmod +x /usr/local/bin/gpu_fan_control.sh
                      
                      

                      2. 生成 Systemd 守护进程与日志轮转配置

                      # 生成 Systemd 服务文件 (路径已精准对齐)
                      sudo cat > /etc/systemd/system/gpu-fan-control.service << 'EOF'
                      [Unit]
                      Description=NCT6793 CPU+GPU Smart Fan Controller
                      Requires=lm-sensors.service
                      After=lm-sensors.service multi-user.target
                      
                      [Service]
                      Type=simple
                      ExecStart=/bin/bash /usr/local/bin/gpu_fan_control.sh
                      Restart=on-failure
                      RestartSec=3
                      StandardOutput=null
                      StandardError=journal
                      
                      [Install]
                      WantedBy=multi-user.target
                      EOF
                      
                      # 生成 Logrotate 日志清理规则
                      sudo cat > /etc/logrotate.d/gpu-fan << 'EOF'
                      /var/log/gpu_fan.log {
                          daily
                          rotate 7
                          compress
                          missingok
                          copytruncate
                          notifempty
                      }
                      EOF
                      
                      

                      3. 应用配置并启动服务

                      重载并启动全新的规范化服务

                      sudo systemctl daemon-reload
                      sudo systemctl enable gpu-fan-control.service
                      sudo systemctl restart gpu-fan-control.service
                      sudo systemctl status gpu-fan-control.service

                      1 条回复 最后回复
                      0
                      • A applejuice

                        @pangfat 说:

                        @applejuice 你这是涡轮卡吧?靠得太近了,上面那个吸不到风,散热也就困难,我的PCIe间隔3-slot我都觉得太近。

                        之前插2slot nvlink 所以被逼这样

                        但是nvlink遇到问题了
                        寄回给 淘宝的华南金牌旗舰店,他们寄给供应商
                        供应商说没问题
                        但是 华南金牌旗舰店 自己测nvlink也是有问题
                        还在扯皮

                        如果再不回来我就要把第2张卡移下一格了

                        A 离线
                        A 离线
                        applejuice
                        劳动模范 德高望重
                        编写于 最后由 编辑
                        #35

                        applejuice 说:

                        @pangfat 说:

                        @applejuice 你这是涡轮卡吧?靠得太近了,上面那个吸不到风,散热也就困难,我的PCIe间隔3-slot我都觉得太近。

                        之前插2slot nvlink 所以被逼这样

                        但是nvlink遇到问题了
                        寄回给 淘宝的华南金牌旗舰店,他们寄给供应商
                        供应商说没问题
                        但是 华南金牌旗舰店 自己测nvlink也是有问题
                        还在扯皮

                        如果再不回来我就要把第2张卡移下一格了

                        还的称赞下 华南金牌旗舰店
                        他们测了有问题 但是供应商不同意
                        华南金牌旗舰店 也同意退款了

                        1 条回复 最后回复
                        0

                        你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

                        厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

                        有了你的建议,这篇帖子会更精彩哦 💗

                        注册 登录
                        回复
                        • 在新帖中回复
                        登录后回复
                        • 从旧到新
                        • 从新到旧
                        • 最多赞同


                        • 登录

                        • 没有帐号? 注册

                        • 第一个帖子
                          最后一个帖子
                        0
                        • 版块
                        • 最新
                        • 标签
                        • 热门
                        • 用户
                        • 群组