小新笔记本的Linux控制调优

特异性调优方法

Posted by wszqkzqk on May 15, 2023
本文字数:1882

前言

本文主要讨论为小新笔记本的Linux系统添加一些控制调优的方法

电池养护模式

联想提供了一个管理工具,可以设置笔记本电池的养护模式,即让电池充电到55%-60%时停止充电,但这个工具只提供Windows版(笔者甚至在Windows下也没有安装这个软件)。

在Linux下,可以通过内核方法或者ACPI方法实现这个功能。

内核方法

小新的电池养护模式配置文件在/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode0表示关闭养护模式(默认),1则表示开启。

# 开启养护模式
echo 1 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode
# 关闭养护模式
echo 0 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

ACPI方法

ACPI方法也可以开启或关闭电池的养护模式。

# 开启养护模式
echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x03' | sudo tee /proc/acpi/call
# 关闭养护模式
echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x05' | sudo tee /proc/acpi/call

性能模式

运行以下命令可以查看电脑支持的性能模式:

cat /sys/firmware/acpi/platform_profile_choices

输出为:

low-power balanced performance

可以看到,小新笔记本支持三种性能模式:low-powerbalancedperformance

内核方法

可以通过内核方法设置性能模式:

# 设置为低功耗模式
echo low-power | sudo tee /sys/firmware/acpi/platform_profile
# 设置为平衡模式
echo balanced | sudo tee /sys/firmware/acpi/platform_profile
# 设置为高性能模式
echo performance | sudo tee /sys/firmware/acpi/platform_profile

ACPI方法

ACPI方法也可以设置性能模式:

# 设置为低功耗模式
echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x000FB001' | sudo tee /proc/acpi/call
# 设置为平衡模式
echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0012B001' | sudo tee /proc/acpi/call
# 设置为高性能模式
echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0013B001' | sudo tee /proc/acpi/call

风扇

可以用内核方法控制风扇的转速,但目前没有测试出具体作用,文件为/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/fan_mode,可以接受的取值为012416等,但是笔者并没有测试出具体作用。

快速充电

小新笔记本支持快速充电,可以通过ACPI方法开启或关闭快速充电:

# 开启快速充电
echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x07' | sudo tee /proc/acpi/call
# 关闭快速充电
echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x08' | sudo tee /proc/acpi/call

AMD PState-EPP

较新的内核默认启用了amd-pstate-epp驱动,可以使用cpupower工具查看当前的EPP值:

cpupower frequency-info

如果driveramd-pstate-epp则说明已经启用了amd-pstate-epp驱动。

为了使得电脑兼有性能和节能,建议进行如下设置:

  • 使用cpupower工具设置powersave模式:
    sudo cpupower frequency-set -g powersave
    
  • 设置amd-pstate-epp驱动的energy_performance_preferenceperformance
    echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference