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

本篇内容有点乱

相关推荐
撸码到无法自拔2 小时前
云计算-私有云-私有云服务运维
运维·云计算
极小狐4 小时前
如何使用极狐GitLab 软件包仓库功能托管 maven?
java·运维·数据库·安全·c#·gitlab·maven
檀越剑指大厂6 小时前
【Docker系列】docker inspect查看容器部署位置
运维·docker·容器
江湖人称-杰7 小时前
CentOS配置了镜像源之后依旧下载元数据失败
linux·运维·centos
BXCQ_xuan8 小时前
DNS负载均衡和CDN的区别
运维·负载均衡
purrrew9 小时前
【Java ee初阶】网络原理
java·运维·服务器·网络·网络协议·udp·java-ee
滴水之功9 小时前
Ubuntu22.04怎么退出Emergency Mode(紧急模式)
linux·运维·服务器
明仔丶10 小时前
开启docker中mysql的binlog日志
运维·docker·容器·binlog
海尔辛12 小时前
学习黑客Linux Flags and Switches 入门
linux·运维·学习
程序边界12 小时前
RPA与After Effects 2024深度融合:自动化影视特效全链路革命
运维·自动化·rpa