You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian/Ubuntu下如何给CPU加压直至达到指定温度?

Debian/Ubuntu 下CPU指定温度负载测试方案

一、依赖工具安装

先安装压力测试工具和温度监控组件:

sudo apt update && sudo apt install -y stress-ng lm-sensors

执行sudo sensors-detect --auto初始化温度传感器驱动,确保系统能正常读取CPU温度数据。

二、确认CPU温度路径

运行sensors命令查看CPU温度输出,找到对应的温度传感器文件路径,常见路径如/sys/class/hwmon/hwmon0/temp1_input(文件内容为毫摄氏度,例如80℃对应数值80000)。

三、自动化负载脚本

以下脚本会自动施加CPU负载,直到温度达到设定值后停止:

#!/bin/bash

# 配置参数
TARGET_TEMP=80000  # 目标温度(毫摄氏度,80℃=80000)
TEMP_PATH="/sys/class/hwmon/hwmon0/temp1_input"  # 替换为你的温度传感器路径
CHECK_INTERVAL=5  # 温度检测间隔(秒)

# 检查依赖是否安装
if ! command -v stress-ng &> /dev/null || ! command -v sensors &> /dev/null; then
    echo "正在安装依赖..."
    sudo apt update && sudo apt install -y stress-ng lm-sensors
    sudo sensors-detect --auto
fi

# 启动CPU满负载(--cpu 0表示使用所有CPU核心)
echo "开始施加CPU负载..."
stress-ng --cpu 0 --timeout 1000000s &
STRESS_PID=$!

# 循环检测温度
while true; do
    CURRENT_TEMP=$(cat "$TEMP_PATH")
    CURRENT_TEMP_C=$((CURRENT_TEMP / 1000))
    TARGET_TEMP_C=$((TARGET_TEMP / 1000))
    echo "当前CPU温度: ${CURRENT_TEMP_C}℃ | 目标温度: ${TARGET_TEMP_C}℃"

    if [ "$CURRENT_TEMP" -ge "$TARGET_TEMP" ]; then
        echo "已达到目标温度,停止负载..."
        kill "$STRESS_PID"
        exit 0
    fi

    sleep "$CHECK_INTERVAL"
done

脚本使用步骤:

  1. 将脚本保存为cpu_temp_stress.sh
  2. 赋予执行权限:chmod +x cpu_temp_stress.sh
  3. 以root权限运行:sudo ./cpu_temp_stress.sh

四、手动测试方式

如果不需要自动化,可手动执行以下步骤:

  1. 后台启动CPU负载:stress-ng --cpu 0 &
  2. 实时监控温度:watch -n 2 sensors
  3. 达到目标温度后,停止负载:pkill stress-ng

注意:测试前确保设备散热正常,避免硬件过热损坏。

内容的提问来源于stack exchange,提问作者Leo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 10:33:19