恢复后CPU缓慢

有时在让我的笔记本电脑进入睡眠状态后,它的CPU被锁定在最慢的频率 – 大约600-700MHz。

我的笔记本电脑是戴尔E6420,配备i5-2520m。
内核版本:4.6.0-040600-generic。
我在14.04版本中第一次遇到这个bug。 而现在我们有16.04,它仍然存在。

我在我的笔记本电脑上工作,一切都很好,快速和顺利。 我关上盖子,让我的笔记本电脑进入睡眠状态,断开电源,它正在睡在它的电池上。 一段时间后我回来,打开盖子。 一切都很慢如同地狱; D
我使用检查cpu频率

watch -n 1 'cat /proc/cpuinfo | grep MHz' 

我看到我所有的内核工作频率都在600Mgz左右。

我检查缩放调控器

 cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 

我看到’powersave’。

要“修复”这个我必须做这样的事情

 echo 'performance' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo 'performance' > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor echo 'performance' > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor echo 'performance' > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor 

之后一切都很快。

CPU缩放驱动程序已通过intel_pstate检查

 cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver 

我很累,我总是运行这个脚本。 这就像我不能再依赖Ubuntu或我的笔记本电脑(我不知道它是谁的错)。

为什么睡眠后CPU很慢。 为什么会这样? 如何解决这个bug?

您的LapTop存在的问题是戴尔LapTops的一个已知问题。 当您从暂停电池电源恢复时,Dell BIOS将设置时钟调制,以便稍微限制性能以节省电池电量。 问题在于,当前forms的intel_pstate CPU频率缩放驱动程序与时钟调制不兼容,而不是稍微限制性能,而是将CPU频率驱动到低于其正常下限。

建议的解决方案是禁用intel_pstate驱动程序,并使用acpi-cpufreq CPU频率缩放驱动程序。 acpi-cpufreq驱动程序“正确”响应时钟调制。

如果您正在使用grub,则编辑/etc/default/grub并更改GRUB_CMDLINE_LINUX_DEFAULT行。 例如,我在该行上还有其他内容:

 GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_pstate=disable" 

务必在之后运行sudo update-grub 。 在编辑原始文件之前保存原始文件的副本也是一种好习惯。 编辑为sudo。