![Ubuntu 16.04 桌面性能 - 将 CPU 频率调节器设置为性能](https://linux22.com/image/995864/Ubuntu%2016.04%20%E6%A1%8C%E9%9D%A2%E6%80%A7%E8%83%BD%20-%20%E5%B0%86%20CPU%20%E9%A2%91%E7%8E%87%E8%B0%83%E8%8A%82%E5%99%A8%E8%AE%BE%E7%BD%AE%E4%B8%BA%E6%80%A7%E8%83%BD.png)
编辑:添加 PC 规格以防有帮助。
i7-5820k
x99P-SLI
32GB DDR4
GTX 970
我在全新安装的 16.04 上遇到了性能不佳的问题,经过一番研究,我了解了cpupower
CPU 频率调节器。默认情况下,我的 CPU 驱动程序为intel_ptstate
,频率调节器为powersave
。在我手动将调节器设置为 后,我的机器性能明显加快,performance
因为它使我的 CPU 运行在 3.30 Ghz 左右,而不是 1.20 Ghz。
我还acpi-cpufreq
通过在 Grub 中禁用该intel_pstate
驱动程序来测试较旧的驱动程序。它现在正在使用ondemand
调节器,但性能基本相同:很差。
以下是输出cpupower frequency-info
tommy@desktop:~$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.20 GHz - 3.30 GHz
available frequency steps: 3.30 GHz, 3.30 GHz, 3.10 GHz, 3.00 GHz, 2.80 GHz, 2.70 GHz, 2.50 GHz, 2.40 GHz, 2.20 GHz, 2.10 GHz, 1.90 GHz, 1.80 GHz, 1.60 GHz, 1.50 GHz, 1.30 GHz, 1.20 GHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 1.20 GHz and 3.30 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.20 GHz.
cpufreq stats: 3.30 GHz:3.98%, 3.30 GHz:0.00%, 3.10 GHz:0.26%, 3.00 GHz:0.17%, 2.80 GHz:0.31%, 2.70 GHz:0.23%, 2.50 GHz:0.29%, 2.40 GHz:0.41%, 2.20 GHz:0.52%, 2.10 GHz:0.59%, 1.90 GHz:0.99%, 1.80 GHz:1.52%, 1.60 GHz:2.68%, 1.50 GHz:5.51%, 1.30 GHz:16.70%, 1.20 GHz:65.84% (14777)
boost state support:
Supported: yes
Active: yes
二三个问题:
- 我应该像这样更换州长吗?
- 进一步的研究表明,你不应该使用 intel_pstate 驱动程序来强制提高性能。这是真的吗?
- 如果没问题,我该如何永久将调节器设置为性能?我尝试制作一个在启动时进行设置的 systemd 服务,但我不确定它是否有效。它在启动时将调节器设置为性能,然后在几分钟后将其更改为省电。这是在使用驱动程序时
intel_pstate
。
cpupower.service
这是我创建的服务的内容。
tommy@desktop:~$ cat /etc/systemd/system/cpupower.service
[Unit]
Description=CPU performance
[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower -c all frequency-set -g performance
[Install]
WantedBy=multi-user.target
我希望这是有道理的!如果有人能提供帮助,并帮助我了解正在发生的事情的总体情况,我将不胜感激。
谢谢。
答案1
您有 3 个问题:
我应该像这样更换州长吗?
当然,如果这是你想要做的。代价是更高的能耗。请注意,即使使用performance
调节器,CPU 本身也可以在非常低的负载下退出 pstate(性能状态)。
Some further research said that you shouldn't force performance with the intel_pstate driver. Is this true?
powersave
使用 intel_pstate CPU 频率驱动程序时,不应注意到 CPU 频率调节器和CPU 频率调节器之间存在很大差异performance
。但是,显然,您似乎拥有某种独特的工作流程,可以突出这种差异。回答您的问题:您可以做任何您想做的事情,只要对您的应用程序有意义就行。
如果没问题,我该如何永久将调节器设置为性能?我尝试制作一个在启动时进行设置的 systemd 服务,但我不确定它是否有效。它在启动时将调节器设置为性能,然后在几分钟后将其更改为省电。这是在使用 intel_pstate 驱动程序时。
Ubuntu 使用脚本 ,在 1 分钟后将/etc/init.d/ondemand
调节器更改为ondemand
(powersave
如果没有ondemand
)。因此,您必须删除或修改它,或者添加一些睡眠时间超过 1 分钟的其他启动脚本,然后才能将调节器改回来。
Ubuntu 内核配置文件定义的默认值是performance
启动期间的调节器。