debian中笔记本的省电选择auto-cpufreq

在reddit中,看评论区出现这个软件,于是打算尝试一下,应该能对不使用电源时笔记本的省电起到一定的作用。

https://github.com/AdnanHodzic/auto-cpufreq?tab=readme-ov-file#why-do-i-need-auto-cpufreq

作用

One of the problems with Linux today on laptops is that the CPU will run in an unoptimized manner which will negatively impact battery life. For example, the CPU may run using the "performance" governor with turbo boost enabled regardless of whether it's plugged into a power outlet or not.

These issues can be mitigated by using tools like indicator-cpufreq or cpufreq, but those still require manual action from your side which can be daunting and cumbersome.

Tools like TLP (which I used for numerous years) can help extend battery life, but may also create their own set of problems, such as losing turbo boost.

Given all of the above, I needed a simple tool that would automatically make CPU frequency-related changes and save battery life, but let the Linux kernel do most of the heavy lifting. That's how auto-cpufreq was born.

Please note: auto-cpufreq aims to replace TLP in terms of functionality, so after you install auto-cpufreq it's recommended to remove TLP. Using both for the same functionality (i.e., to set CPU frequencies) will lead to unwanted results like overheating. Hence, only use both tools in tandem if you know what you're doing.

One tool/daemon that does not conflict with auto-cpufreq in any way, and is even recommended to have running alongside, is thermald.

Supported architectures and devices

Only devices with an Intel, AMD, or ARM CPU are supported. This tool was developed to improve performance and battery life on laptops, but running it on desktops/servers (to lower power consumption) should also be possible.

AI提炼

该软件 auto-cpufreq 的作用主要有以下几点:

  1. 自动进行与 CPU 频率相关的更改,优化 CPU 运行方式,避免其以未优化的方式运行,从而延长电池寿命。 让 Linux
  2. 内核承担大部分繁重工作,在不依赖过多手动操作(如使用 indicator-cpufreq 或 cpufreq 工具那样)的情况下,实现对
  3. CPU 频率的优化调整。 在功能上可替代 TLP,避免因同时使用 TLP 和 auto-cpufreq 设置 CPU频率而导致如过热等不良结果。
  4. 除了适用于笔记本电脑提升性能和延长电池寿命外,也可运行在台式机或服务器上,达到降低功耗的目的。

大概就是通过调节CPU的频率达到省电的作用,不过电脑的功耗大头不仅仅只有CPU,提升有但有限吧

过程解读

bash 复制代码
systemctl status power-profiles-daemon

与gnome下的power-profiles-daemon.service产生了冲突,也不奇怪,因为这个就是用来调节cpu的运行状态的。

长这样:

下面是警告(也就是说不是报错),意思是说两者不能共存,在安装auto-cpufreq为daemon service时会将power-profiles-daemon禁用,卸载时重新启用power-profiles-daemon服务。

bash 复制代码
ying@192 ~/p/auto-cpufreq (master)> sudo auto-cpufreq --monitor



----------------------------------- Warning -----------------------------------

Detected running GNOME Power Profiles daemon service!

This daemon might interfere with auto-cpufreq and will be automatically
disabled when auto-cpufreq daemon is installed and
it will be re-enabled after auto-cpufreq is removed.

Only necessary to be manually done on Snap package installs!
Steps to perform this action using auto-cpufreq: power_helper script:
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
python3 -m auto_cpufreq.power_helper --gnome_power_disable

Reference: https://github.com/AdnanHodzic/auto-cpufreq#configuring-auto-cpufreq
press Enter to continue or Ctrl + c to exit...^C⏎  

回车查看详情信息

这个命令应该是临时启用 auto-cpufreq,如何看情况在安装为daemon service,重启配置就失效。

sudo auto-cpufreq --live

ok,给哥们主频最大频率砍了一般,稍微动动cpu占用就上去了。和轻薄本没两样了吧!

我尝试一下,可不可以退出这个监视界面,一直开着也较为碍事。

sudo auto-cpufreq --monitor

监控发现,配置基本没变。

谨慎起见,再查看

systemctl status power-profiles-daemon

可以看到这个服务还是在跑,不过尝试更改,会发现主频最高仍然是2300,所以也算是禁用了。

不过目测续航也并没有多少提高。

安装

bash 复制代码
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq && sudo ./auto-cpufreq-installer
bash 复制代码
sudo auto-cpufreq --install

其他

它是有一个GUI程序可以图形化的管理操作,但是好像我安装过程中出了些问题,这个程序无法打开,但是命令行仍然可用。

安装之后

bash 复制代码
auto-cpufreq --stats

//To disable and remove auto-cpufreq daemon, run:

bash 复制代码
sudo auto-cpufreq --remove

内存占用不大,大概25M

bash 复制代码
systemctl status auto-cpufreq

其他

在插入电源后打开virtualbox测试,发现最大频率会波动,虚拟机也卡卡的感觉,也不知道是不是错觉。

You can configure separate profiles for the battery and power supply. These profiles will let you pick which governor to use, as well as how and when turbo boost is enabled. The possible values for turbo boost behavior are always, auto, and never. The default behavior is auto, which only activates turbo during high load.

这里有个问题,只有在高负载下会启用,那也就是说如果环境在高低负载交替的场景,可能会有明显卡顿。

作者也给出了配置的方法,可以通过配置文件来控制使用电源和电源适配器时不同的睿频调节方案。

配置文件并没有默认创建,可能需要手动创建。

在sudo auto-cpufreq --monitor的显示中可以看到电源适配器的插入状态,还有电池充电开始和停止的阈值,但是作者明确指出只适配联想设备,因为我是华硕所有我也就不尝试配置了,github中还有一些电源管理方案可以供选择,还有gnome插件的方案,不过需要指出,gnome插件需要在开机后登录进入桌面才会启用,也就是说这段时间内,电池会持续充电。

在安装为daemon后会关闭gnome的性能调节service

bash 复制代码
ying@192 ~> systemctl status power-profiles-daemon
○ power-profiles-daemon.service
     Loaded: masked (Reason: Unit power-profiles-daemon.service is masked.)
     Active: inactive (dead)

附一个我的配置文件

bash 复制代码
sudo vim /etc/auto-cpufreq.conf

在插入电源时一直启用turbo,在使用电池时auto,电池充电阈值那里还没开始搞,现在使用的gnome插件,虽然有点缺陷但可以使用,不过作者的reference我没有删除,感兴趣的可以去摸索一下,另外这个配置文件修改完保存就会生效。

bash 复制代码
# settings for when connected to a power source
[charger]
governor = performance
energy_performance_preference = performance
turbo = always

# settings for when using battery power
[battery]
governor = powersave
energy_performance_preference = power

# turbo boost setting (always, auto, or never)
turbo = auto

# battery charging threshold
# reference: https://github.com/AdnanHodzic/auto-cpufreq/#battery-charging-thresholds
#enable_thresholds = true
#start_threshold = 20
#stop_threshold = 80

本篇内容有点乱

相关推荐
kfepiza10 分钟前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
艾伦_耶格宇33 分钟前
【docker】-1 docker简介
运维·docker·容器
R.X. NLOS37 分钟前
VS Code远程开发新方案:使用SFTP扩展解决Remote-SSH连接不稳定问题
运维·服务器·ssh·debug·vs code
cuijiecheng20181 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
jingyu飞鸟5 小时前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache
2401_858286116 小时前
OS15.【Linux】gdb调试器的简单使用
linux·运维·服务器·开发语言·gdb
c30%007 小时前
内网渗透——红日靶场五
运维·服务器
zjw_rp8 小时前
centos停止维护后更换yum源
linux·运维·centos
宇钶宇夕8 小时前
EPLAN 电气制图:建立自己的部件库,添加部件-加SQL Server安装教程(三)上
运维·服务器·数据库·程序人生·自动化
susu10830189118 小时前
Debian 11 Bullseye 在线安装docker
运维·docker·debian