我有一台相当新的笔记本电脑,HP OMEN,配备 GTX1070 8GB 显卡和 Corei77700HQ。来自 graphics-drivers ppa 的最新驱动程序。所有游戏都可以正常启动,玩了几分钟后,帧数下降到 15 fps。然后过了一段时间,它又恢复到满帧,即超过 75。然后这个循环继续,我无法玩。这是 18.04 系列和任何基于 18.04 的发行版的一致行为。我有一台启用了 GSYNC 的笔记本电脑屏幕,只有 1080p。除了 Ubuntu 基础版之外,我没有在任何其他发行版上看到这个问题。我听到有人说可能是 Nvidia,如果是 Nvidia,那么 16.04 也应该会出现这种情况,但事实并非如此。
有人能帮帮我吗?
75帧每秒
affected_cpus 0
cpuinfo_max_freq 3800000
cpuinfo_min_freq 800000
cpuinfo_transition_latency 0
energy_performance_available_preferences default performance balance_performance balance_power power
energy_performance_preference balance_performance
related_cpus 0
scaling_available_governors performance powersave
scaling_cur_freq 899381
scaling_driver intel_pstate
scaling_governor powersave
scaling_max_freq 3800000
scaling_min_freq 800000
scaling_setspeed <unsupported>
15帧每秒:-
affected_cpus 0
cpuinfo_max_freq 3800000
cpuinfo_min_freq 800000
cpuinfo_transition_latency 0
energy_performance_available_preferences default performance balance_performance balance_power power
energy_performance_preference balance_performance
related_cpus 0
scaling_available_governors performance powersave
scaling_cur_freq 800030
scaling_driver intel_pstate
scaling_governor powersave
scaling_max_freq 2800000
scaling_min_freq 800000
scaling_setspeed <unsupported>
再次。
75 帧每秒
affected_cpus 0
cpuinfo_max_freq 3800000
cpuinfo_min_freq 800000
cpuinfo_transition_latency 0
energy_performance_available_preferences default performance balance_performance balance_power power
energy_performance_preference balance_performance
related_cpus 0
scaling_available_governors performance powersave
scaling_cur_freq 900004
scaling_driver intel_pstate
scaling_governor powersave
scaling_max_freq 3800000
scaling_min_freq 800000
scaling_setspeed <unsupported>
答案1
经过所有这些故障排除后,我得出结论,它确实是过热了,正如 Alan 和 Martin 在 Ubuntu 播客第 11 季第 26 集中所说的那样。在 Ubuntu 18.04 中,默认启用 thermald 守护进程来维持 CPU 温度。这通常不会产生影响,因为危险阈值相当高。然而,在我的特定情况下,它根据 CPU 温度将 CPU 限制在最低频率,这是预料之中的。我认为这是 thermald 的一个错误。此后,我在同一硬件上尝试了其他发行版中的 thermald,但无法重现该错误。因此,我决定再次回到 Ubuntu,这次禁用 thermald。现在已修复。非常感谢 ask Ubuntu 社区的支持,特别感谢 Alan Pope 和 Martin Wimpress。
解决方案:-
sudo systemctl disable thermald && sudo reboot.
PS 注意,禁用 thermald 将使温度不受控制,请谨慎使用。我们最不想做的就是烧坏某人的硬件。Thermald 的存在是有原因的。除非您受到此问题的影响,否则我不推荐此解决方案。
自从 Ubuntu Podcast 第 11 季第 28 集以来,Alan 和 Martin 再次阅读了我的回答并建议我提交错误报告thermald,我一直在更详细地调查 CPU 节流的原因。我偶尔也会看到节流,即使在我禁用 thermald. 由 gnome shell 扩展提供CPU频率,我能够看到中断平衡正在限制我的 CPU 并导致帧速率下降。
为了证明这一点我已启用 thermald并删除中断平衡包裹。现在我得到了更高的 FPS并且完全没有限制。
我一直在看包裹中断平衡
有关 irqbalance 的有用资源:- http://konkor.github.io/cpufreq/faq/
它指出 :-
irqbalance 不是 Linux 内核的一部分
它专为具有许多 RAID/HDD/SDD 控制器的特殊服务器配置而设计。
任何用户空间应用程序(如游戏、编译……)都无法在任何线程上获得 100% 的 CPU 资源,因为它总是与 IO 任务共享这些资源。
我想我现在可以认为这个问题已经解决了
sudo apt remove irqbalance
这是真正的解决方案!