#cpu #battery #system-clock #clockspeed

app autoclockspeed

一个用于检查您 CPU 的统计数据,并自动调节时钟速度以帮助提高性能或电池寿命的实用工具

9 个版本

0.1.11 2023 年 2 月 10 日
0.1.10 2022 年 10 月 31 日
0.1.9 2022 年 6 月 6 日
0.1.8 2022 年 2 月 16 日
0.1.3 2021 年 7 月 16 日

#67 in 硬件支持

39 每月下载次数

MIT OR MPL-2.0

650KB
3.5K SLoC

Auto Clock Speed Banner Logo Rust Crates Version Downloads

ACS Upstream - autoclockspeed.org - 我们的 crates.io - ACS Github Org

一个用于检查您 CPU 的统计数据,并自动调节时钟速度以帮助提高性能或电池寿命的实用工具。此程序设计用于 Linux 和英特尔笔记本电脑,尽管理论上它也应该在 AMD 系统和某些台式机上运行。如果您遇到任何问题或错误,请参阅 wiki 查看是否有解决方案。

acs

目标

  • 首先,这是一个学习 Rust 和 Linux 的项目
  • 其次,尝试改进 AdnanHodzic 的已经非常出色的 auto-cpufreq
  • 添加选项以显示控制器、时钟速度、超频、电池等原始输出,以便在脚本或类似 polybar 的显示面板中使用。

想要帮忙?太好了!欢迎加入!

安装最新版本

如果您机器上有 cargo,请跳到第 3 步

  1. 前往 rustup.rs 安装 rust。

  2. 设置 rust

    rustup override set stable
    rustup update stable
    
  3. 克隆项目并安装

    git clone https://github.com/JakeRoggenbuck/auto-clock-speed
    
    cargo install --path auto-clock-speed
    
    # This is needed to have the root version of acs match the local installed version
    sudo cp ~/.cargo/bin/acs /usr/bin/acs
    

注意:acs的最新版本也可以使用以下方法本地安装

cargo install autoclockspeed

测试设备

自动时钟速度已在以下设备上进行了测试。如果您有未列出的设备,请提交一个pull request。

功能 描述
正常工作 ACS的所有部分都完全正常工作,计算机有足够的数据来决定调节器更改,并且可以以编辑模式运行
大部分工作 ACS无法理解来自计算机的一些数据,但是某些数据(如电池寿命、电池状况、温度等)对于做出调节器决策不是必需的,缺失了
部分工作 ACS可以大部分工作,尽管存在一个或多个重要的限制(例如,苹果设备的越狱或安卓的root访问)
勉强工作 由于系统缺少数据,ACS无法在编辑模式下运行,但是monit模式可能仍然有效,但是功能有限。如果您有属于此类别的系统,请打开一个问题
损坏 ACS找不到任何有用的数据。请打开一个问题
设备名称 功能 备注
Dell XPS 13 9360 正常工作
Dell Latitude 7480 正常工作
Steam Deck 正常工作 不需要编辑模式(使用内置的调节器开关器)
Thinkpad T400 正常工作
Thinkpad T460 正常工作
Thinkpad X230 正常工作
Thinkpad X301 正常工作
Thinkpad W540 正常工作
ThinkPad X1 Extreme Gen 1 正常工作
Thinkpad P1 Gen 4 (Intel Core) 正常工作
Thinkpad P14 Gen 2 (AMD) 大部分工作 #443
OnePlus 9 Pro (Snapdragon 888 SoC) 部分工作 需要root访问;通过termux从源代码编译
iPad Pro Gen 6 勉强工作 使用iSH编译,但不能访问任何数据

进行中

image

新交互模式

image

Systemd

为了在您重启计算机时自动启动auto-clock-speed,您必须遵循以下说明

# IMPORTANT: Modify the service file (acs.service) in the
# project directory to include the path to the binary file 
# (usually /home/username/.cargo/bin/acs)
# In the auto clock speed directory run this command to
# move the service file into your systemd directory
sudo cp acs.service /etc/systemd/system/
# Start and enable the service
sudo systemctl start acs
sudo systemctl enable acs

# Check service is up and running
systemctl status acs

Systemctl命令

[Service]中的下一行在acs.service中是将要运行的命令。您可能希望添加或删除参数,主要是--quiet

[Unit]
Description=Manages Clock Speed

[Service]
ExecStart=/home/your-user-here/.cargo/bin/acs run --no-animation --quiet

[Install]
WantedBy=multi-user.target

配置

使用默认配置

WARN: Using default config. Create file '/etc/acs/acs.toml' for custom config or run 'acs initconfig' to setup default config automatically.

此警告建议创建一个配置文件,使用initconfig命令为您自动创建一个!

sudo acs initconfig

这是一个示例配置

也是未提供配置时的默认设置

# acs.toml
powersave_under = 20
overheat_threshold = 80
active_rules = [ "battery_percent_rule", "lid_open_rule", "ac_charging_rule", "cpu_usage_rule" ]

关闭

如果您想关闭auto-clock-speed,以下是步骤。
注意:这应在acs运行模式测试期间完成。

# Temporarily stop (only lasts until reboot)
sudo systemctl stop acs

# Permanently stop until turned on
sudo systemctl disable acs

卸载

以下是卸载二进制文件和systemctl服务的步骤。

# Remove local binary
cargo uninstall acs

# Remove system shared binary
rm /usr/bin/acs

# Remove systemctl entry
rm /etc/systemd/system/acs.service

示例用法

以下是一些acs可以使用的示例。

# Monitor mode
acs monitor

# Run as root
sudo acs run

# Get all speeds
acs get speeds

# Select gov from dmenu
sudo acs set gov $(acs get available-govs --raw | dmenu)

详细用法

详细用法可以在我们的wiki上找到

帮助

Automatic CPU frequency scaler and power saver

USAGE:
    acs <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    daemon         Controls interaction with a running daemon
    get            Get a specific value or status
    help           Prints this message or the help of the given subcommand(s)
    initconfig     Initialize config
    interactive    Interactive mode for auto clock speed commands
    monitor        Monitor each cpu, it's min, max, and current speed, along with the governor
    run            Run the daemon, this checks and edit your cpu's speed
    set            Set a specific value
    showconfig     Show the current config in use

依赖

~9–21MB
~251K SLoC