我在 Thinkpad T430(Core i7 双核,标称 2.9 GHz 时钟,8 GB RAM,9 芯内置电池和 9 芯 Slice 电池)上运行双启动 Ubuntu MATE 16.04.3 LTS 和 Windows。我的电池寿命非常好,充满电后正常使用时间长达 10 小时。
我最近在使用交流电源玩游戏(Kerbal Space Program)时遇到了性能问题,我发现电脑一直处于省电模式,导致 CPU 的时钟速度低于我不需要大幅节省能源时所需的速度。这可能是在我购买扩展电池之前发生的,当时我正试图用原装 6 芯电池大幅延长电池寿命。
我可以使用系统栏中安装的 CPU 频率缩放监视器小部件(分别控制真实核心和虚拟核心的时钟管理)轻松将 CPU 切换回性能模式。我检查了系统设置的电源窗口,没有看到任何方法可以告诉操作系统自动在省电模式(使用电池供电时我想要的)和性能模式(使用交流电时我想要的)之间切换。
这个类似的问题提到 Ubuntu 14.10 的寿命终止可能不适合我的硬件。我不知道我是否有 Sandy Bridge CPU。
答案1
使用 sudo 创建文件 /opt/system_cupmode.sh
运行以下命令赋予其所需的权限
sudo chmod +x /opt/system_cupmode.sh
打开文件并添加以下代码:
#!/bin/bash # This script will switch cpu mode to performance on charging automatically # Author: @saleh_awal tFile=/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor if on_ac_power; then # charging on if grep -qi "powersave" $tFile; then echo performance | tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor else echo "already updated to performance" fi else # charging off if grep -qi "performance" $tFile; then echo powersave | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor else echo "already updated to powersave" fi fi
向您的 root 用户添加一个 cronjob,如下所示:
sudo crontab -e
然后在文件底部添加此行,每 10 秒运行一次代码
*/10 * * * * /opt/system_cupmode.sh
答案2
我做了一些研究。其结果如下。
我在用着常春藤桥 i7-3537U使用相同的小部件在 MATE 上。我的另一个 CPU 是Haswell i7-4790根据 sysfs,他们只有两个调控器
$ cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors
performance powersave
它使用新的英特尔_pstate司机。
较旧的 CPU,例如我的克拉克斯菲尔德 i7-740QM由司机驾驶acpi-cpufreq
,有5个调速器(conservative ondemand userspace powersave performance
)。
cpufreq-info -d
可以通过(从包中)检查当前驱动程序cpufrequtils
。
您可以使用 检查您的 CPU lscpu
。我认为您可以使用i7z
或i7z_GUI
(可安装sudo apt-get install i7z i7z-gui
)或powertop
(sudo apt-get install powertop
,请参阅频率统计标签)。
在其他主题解释了如何关闭intel_pstate
驱动程序。我尝试过使用 Haswell 和 Ivy Bridge CPU,但我得到了非常接近的结果英特尔的 LINPACK 测试。
我可以得出以下结论:
intel_pstate
节能州长相当于旧的acpi-cpufreq
一经请求一;- 看起来你的 CPU 已经达到了最佳性能。