收起左侧

一条命令解决飞牛CPU温度过高的问题

8
回复
3418
查看
[ 复制链接 ]

3

主题

11

回帖

0

牛值

江湖小虾

2025-2-7 15:48:55 显示全部楼层 阅读模式

[i=s] 本帖最后由 玉尺书生 于 2025-2-7 16:33 编辑 [/i]<br /> <br />

自从飞牛虚拟机推出后,上周将我的小主机i5 8250u 从win10刷了飞牛os,win10用hyper虚拟了爱快,飞牛也是,下挂京东云,上传速度13mb左右。win10的时候CPU50多度,风扇声音非常小,换飞牛后风扇速度明显变大,进网页端一看温度到了80多度,前天晚上甚至温度过高重启了,一度想换回win10或者pve,这时想到了之前用pve后台设置cpu省电调度,寻思飞牛应该也可以,ssh后台看了一下CPU调度是powersave,但是全核心一直在最高睿频运行,这温度不高才怪了。想装cpufrequtils调整频率,但可能是权限原因不能生效。后来又想能不能通过关闭cpu睿频,让cpu频率下来,找到命令后试了一下,终于成功了,cpu在1.6g的基础频率了,温度也降到了50多度:biggrin:

关闭睿频:

echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

设置50%最大频率:(我直接关闭的睿频,这个没试)

echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct

查看cpu实时频率:

watch -n 0 "cat /proc/cpuinfo | grep -i mhz"

先运行sudo -i,root下运行代码。

之前的频率

root@fn:# grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu MHz : 3400.001
model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu MHz : 3400.055
model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu MHz : 3400.060
model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu MHz : 3399.984
model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu MHz : 3399.970
model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu MHz : 3400.020
model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu MHz : 3400.031
model name : Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
cpu MHz : 3399.937

之后的频率:

root@fn:~# cat /proc/cpuinfo | grep MHz
cpu MHz         : 1600.025
cpu MHz         : 1600.018
cpu MHz         : 1600.000
cpu MHz         : 1599.978
cpu MHz         : 1599.991
cpu MHz         : 1600.011
cpu MHz         : 1600.003
cpu MHz         : 1600.010

温度对比:

屏幕截图_7-2-2025_151521.jpeg

屏幕截图_6-2-2025_151842.jpeg

收藏
送赞 2
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

5

回帖

0

牛值

江湖小虾

2025-2-8 12:48:20 显示全部楼层
按照这个思路也可以一招解决飞牛OS功耗过高的问题:拔掉电源
那你还玩啥啊  详情 回复
2025-2-8 15:07

3

主题

11

回帖

0

牛值

江湖小虾

2025-2-8 15:07:59 楼主 显示全部楼层
那你还玩啥啊

5

主题

26

回帖

0

牛值

江湖小虾

2025-2-8 20:54:40 显示全部楼层
我9100T待机占用率都是1%-2%,CPU温度45℃,你的CPU占用这么高没问题吗,是一直有程序在执行吗?
````
model name      : Intel(R) Core(TM) i3-9100T CPU @ 3.10GHz
cpu MHz         : 3095.998
model name      : Intel(R) Core(TM) i3-9100T CPU @ 3.10GHz
cpu MHz         : 3095.998
model name      : Intel(R) Core(TM) i3-9100T CPU @ 3.10GHz
cpu MHz         : 3095.998
model name      : Intel(R) Core(TM) i3-9100T CPU @ 3.10GHz
cpu MHz         : 3095.998
````
虚拟了爱快做主路由,上行速度基本保持在13M/S  详情 回复
2025-2-8 21:05

3

主题

11

回帖

0

牛值

江湖小虾

2025-2-8 21:05:30 楼主 显示全部楼层
虚拟了爱快做主路由,上行速度基本保持在13M/S

0

主题

3

回帖

0

牛值

江湖小虾

2025-2-9 22:30:36 显示全部楼层
学习了!!

7

主题

31

回帖

0

牛值

初出茅庐

2025-2-10 14:46:09 显示全部楼层
不需要看温度,只要不冒烟就能一直用

0

主题

1

回帖

0

牛值

江湖小虾

2025-5-10 21:32:26 显示全部楼层

每次重启之后命令会丢失,需要重新输入,有什么办法一劳永逸吗

0

主题

1

回帖

0

牛值

江湖小虾

2025-5-21 17:22:50 显示全部楼层

补充楼主方法,使用 systemd 服务开机自动设置 CPU 性能

第一步:创建一个 systemd 服务文件

sudo nano /etc/systemd/system/cpu-limit.service

第二步:粘贴以下内容

[Unit]
Description=限制最大 CPU 性能为 50%
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'echo 50 > /sys/devices/system/cpu/intel_pstate/max_perf_pct'
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

说明:

  • After=multi-user.target 表示服务在系统主要启动过程完成后执行,确保 /sys 已挂载可用。
  • ExecStart 这一行就是设置 CPU 性能上限为 50%,可自行修改。
  • RemainAfterExit=true 表示服务执行一次后保持“激活”状态(不反复执行)。

第三步:启用并启动服务

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable cpu-limit.service
sudo systemctl start cpu-limit.service

第四步:验证设置是否生效

cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
# 如果输出是 50,说明生效了

如果以后想取消限制

sudo systemctl disable --now cpu-limit.service
echo 100 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则