最近,我认为图形驱动程序是导致我的系统出现严重延迟/挂起的原因。但就在早些时候,我发现该过程kidle_inject
是导致所有这些麻烦的原因。(经过研究,我相信这是 的一个“功能” intel_pstate
)。
虽然我知道这样做是为了让我的电脑/处理器保持凉爽,但这几乎影响了我所做的所有使用大量处理能力的事情。例如,我在玩 Minecraft,当处理器达到某个限制(我不知道它是多少%)时,这个kidle_inject
进程就会启动(我相信它为我拥有的每个 CPU 核心生成一个),这非但没有帮助我的电脑保持凉爽,反而让事情变得更糟。
事情是这样的:
- 例如,我正在玩 Minecraft,就像我说过的,在 CPU 使用率达到一定百分比时,
kidle_inject
就会生成多个进程(对我来说是 4 个,因为我有 4 个 CPU 核心)。 - 当这些进程产生后,我的系统监视器指示器上的 CPU 使用率就会飙升至恒定的 95%-100%,这会导致我的计算机出现非常严重的延迟。
- 发生这种情况时,我只能打开一个
tty
会话。(我最近才知道这个,但我仍然不知道它们的真实名称)。top
在那里输入命令会发现这些kidle_inject
进程每个进程至少占用 60% 的 CPU,而其他进程仅占用约 2%-5%。这就是我知道这些是我电脑严重延迟的罪魁祸首的原因。
我还没有测试过,因为我之前才知道这个,但是很多次以前,我也尝试玩 Super Tux Kart(最新版本),同样也出现了非常高的 CPU 占用率以及音频卡顿的情况,当我在 Android Studio 中构建项目时,CPU 占用也达到了 100%,我认为这不应该使用太多的 CPU(我也进行了一些设置来提高 Gradle 的性能),我相信这也是当时的根本原因。
那么禁用intel_pstate
或 intel_powerclamp(或者它们一起用?)是我解决这个问题的唯一方法吗?或者我可以设置kidle_inject
进程的生成时间吗?我读到一些人intel_pstate
也遇到了问题,但他们(我记得)都在使用 14.04 或 14.10,我在 Ubuntu 15.04所以我想他们的问题可能和我的不同。
非常感谢大家的帮助。谢谢!
答案1
kidle_inject
是由 CPU 频率调节驱动程序引入的,thermald
而不是由它引入的intel_pstate
。尝试禁用 thermald。话虽如此,intel_pstate 驱动程序确实存在问题,因此如果问题仍然存在,请尝试禁用它,这样您就可以回到 acpi-cpufreq CPU 调节驱动程序。(一些“操作方法”说明来自另一个答案)