嵌入式Linux中文站

使用auto-cpufreq,自动优化CPU速度和功耗!


本文介绍了如何在Linux中使用auto-cpufreq自动优化CPU速度和功耗。auto-cpufreq是面向Linux的自动CPU速度和功耗优化程序。顾名思义,auto-cpufreq可自动进行优化。你无需进行任何手动更改或不断调整。它会主动监测电池的状态、CPU使用情况(频率和温度)以及系统负荷,并建议你进行最佳调整以延长笔记本电脑的电池寿命。随后,你可以使建议的CPU和功耗优化设置临时或永久生效。

功能

auto-cpufreq实用程序有以下功能:

  • 监测
    • 显示系统的基本详细信息
    • CPU频率
    • CPU温度
    • 电池状态
    • 系统负荷
  • 基于以下几方面的CPU频率调整、调速器和turbo boost管理
    • 电池状态
    • CPU使用情况
    • 系统负荷
    • CPU和功耗自动优化(临时和持久)。

安装auto-cpufreq

auto-cpufreq在AUR(https://aur.archlinux.org/packages/auto-cpufreq-git/)中就有。因此,Arch Linux用户可以使用AUR帮助工具(比如Yay)来安装。


  1. $ yay -S auto-cpufreq 

在其他Linux发行版上,确保已安装了以下必备组件。

在基于DEB的系统上:


  1. $ sudo apt install git python3-dev python3-pip python3-distro python3-psutil python3-click python3-power 

在基于RPM的系统上:


  1. $ sudo yum install git python-devel  
  2. $ sudo pip3 install psutil click distro power 

官方存储库中可用的Python软件包可能版本有点旧。要将它们更新到最新版本,请运行:


  1. $ sudo pip3 install --upgrade psutil click distro power 

安装和更新所有必备组件后,对auto-cpufreq存储库执行git clone操作:


  1. $ git clone https://github.com/AdnanHodzic/auto-cpufreq.git 

进入到项目所在的目录:


  1. $ cd auto-cpufreq / 

按照下面部分所述的方式,开始使用它。

在Linux中使用auto-cpufreq自动优化CPU速度和功耗

想运行auto-cpufreq,只需执行以下操作:


  1. $ sudo python3 auto-cpufreq.py 

运行不带任何选项的auto-cpufreq时,你会看到帮助部分显示了示例用法以及可用选项和模式。

共有三种模式。

  1. 监测
  2. 实时
  3. 安装

监测模式

想在监测模式下运行auto-cpufreq,请运行:


  1. $ sudo python3 auto-cpufreq.py --monitor 

监测模式下,auto-cpufreq会显示系统的基本详细信息和CPU优化建议措施,如下所示:


  1. ----------------------------- System information ------------------------------ 
  2.  
  3. Linux distro: Ubuntu 18.04 bionic 
  4.  
  5. Linux kernel: 5.3.0-40-generic 
  6.  
  7. Driver: intel_pstate 
  8.  
  9. Architecture: x86_64 
  10.  
  11. Processor: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz 
  12.  
  13. Cores: 4 
  14.  
  15. ------------------------------ Current CPU states ------------------------------ 
  16.  
  17. CPU max frequency: 
  18.  
  19. 2300 MHz 
  20.  
  21. CPU frequency for each core: 
  22.  
  23. CPU0: 1032 MHz 
  24.  
  25. CPU1: 1010 MHz 
  26.  
  27. CPU2: 1050 MHz 
  28.  
  29. CPU3: 1038 MHz 
  30.  
  31. Temperature for each physical core: 
  32.  
  33. CPU0 temp: 62°C 
  34.  
  35. CPU1 temp: 62°C 
  36.  
  37. ---------------------------- CPU frequency scaling ---------------------------- 
  38.  
  39. Battery is: charging 
  40.  
  41. Suggesting use of "performance" governor 
  42.  
  43. Currently using: /bin/sh: 
  44.  
  45. Total CPU usage: 8.1 % 
  46.  
  47. Total system load: 0.48 
  48.  
  49. Currently turbo boost isoff 
  50.  
  51. Suggesting to set turbo boost: on 
  52.  
  53. ------------------------------------------------------------------------------- 
  54.  
  55. "auto-cpufreq" refresh in: 5 

输出内容将每5秒更新一次。你的系统中什么都不会变。这只是一个视频演示,表明auto-cpufreq为你的系统做了什么不同的事情。想停止该监测,只需按CTRL + c组合键。

实时模式

想在实时模式下启动auto-cpufreq,请运行:


  1. $ sudo python3 auto-cpufreq.py --live 

该模式用于评估。所有必要的更改都暂时运用到你的系统。在这种模式下,你将显示在永久启用auto-cpufreq后系统会有怎样的行为。请注意,这些更改在系统重新引导后丢失。

安装模式

如果你希望在系统重新引导后自动启用CPU优化,请运行:


  1. $ systemctl status auto-cpufreq 

该命令将创建auto-cpufreq systemd服务。该服务将在每次系统重新引导时自动运行。因此,做出的所有必要更改将在重新启动后继续生效。

你可以使用以下命令查看服务状态:


  1. $ systemctl status auto-cpufreq 

查看记录

想查看CPU优化日志,请运行:


  1. $ auto-cpufreq --log 

或者


  1. $ sudo python3 auto-cpufreq.py --log 

请注意,你已启用systemd服务以查看日志。

删除auto-cpufreq服务

如果你不想在重新引导后永久启用CPU优化,请使用以下命令删除auto-cpufreq:


  1. $ sudo auto-cpufreq --remove 

或者


  1. $ sudo python3 auto-cpufreq.py --remove 

所有持久的更改也将被删除。

当然,也有许多工具可以在Linux中降低功耗,并改善笔记本电脑的总体电池寿命,比如CPU电源管理器、TLP、笔记本电脑模式工具和powertop。auto-cpufreq是另一个改善笔记本电脑电池性能的优秀工具。好消息是它与TLP并不冲突。你可以在笔记本电脑中同时使用它们。

本文永久更新链接:http://embeddedlinux.org.cn/emb-linux/entry-level/202005/17-9150.html



分享:

评论