如何将intel idle max cstate设置为1,如何检查何时完成。由于海湾步道核心,我遇到冻结问题。
我尝试了内核4.5 4.1.12 4.4,但冻结问题仍然继续。目前4.4是我的内核版本。
如何将intel idle max cstate设置为1,如何检查何时完成。由于海湾步道核心,我遇到冻结问题。
我尝试了内核4.5 4.1.12 4.4,但冻结问题仍然继续。目前4.4是我的内核版本。
Answers:
如果使用GRUB:
使用sudo
,编辑/etc/default/grub
并编辑该GRUB_CMDLINE_LINUX_DEFAULT
行,将其添加intel_idle.max_cstate=1
到可能已经存在的行中。保存文件后运行sudo update-grub
,然后重新启动。建议您首先保存原始grub文件的副本。
要检查您的cstate深度不超过1,请使用turbostat(软件包:linux-tools-common)。
示例(其中已经有东西GRUB_CMDLINE_LINUX_DEFAULT
):
之前(编辑):
$ sudo turbostat -S --debug sleep 10
Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 PkgWatt CorWatt GFXWatt
1 0.04 1654 3411 0 0.12 0.03 99.82 0.00 29 29 0.07 0.03 99.51 3.85 0.20 0.23
10.001629 sec
进行更改(使用我的方法进行配置控制):
~/config/etc/default$ cp /etc/default/grub ./
~/config/etc/default$ cp grub grub.original
~/config/etc/default$ nano grub
更改此:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
对此:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_idle.max_cstate=1"
并更新:
~/config/etc/default$ sudo cp grub /etc/default
~/config/etc/default$ sudo update-grub
~/config/etc/default$ sudo reboot -r now
现在检查(编辑):
$ sudo turbostat -S --debug sleep 10
Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 PkgWatt CorWatt GFXWatt
0 0.02 1920 3411 0 99.98 0.00 0.00 0.00 39 39 0.00 0.00 0.00 10.49 6.66 0.23
10.001079 sec
您还应该在dmesg
和var/log/kern.log
(编辑)中看到以下消息:
~$ dmesg | grep intel_idle
[ 1.019709] intel_idle: max_cstate 1 reached
$ grep intel_idle /var/log/kern.log
Mar 23 08:10:32 s15 kernel: [ 1.019709] intel_idle: max_cstate 1 reached
turbostat
,什么值表明cstate不会比1更深。您的意思是deeper
什么?如果更深入,该怎么做?
intel_idle.max_cstate=1
像启用GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"
grub更新一样在grub中启用,sudo update-grub
然后重新启动了计算机。不再发生硬重启。我(很高兴我解决了我的问题。我想知道这个属性到底是在告诉CPU什么
在对Linux和华擎Q2900遇到相同的冻结问题之后,我在德国IT网站上找到了英特尔提供的解决方案/解决方法。(https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html)Bay-Trail-SoC存在一个普遍问题来自英特尔。补丁程序链接:https : //bugzilla.kernel.org/attachment.cgi?id=223851
更多信息:此补丁/脚本确实获得了省电模式。上面的主题解决方案根本没有删除此模式。
如果切换到最新内核,则不再需要更新grub。
根据错误报告中的注释1013,现在已修复:
我已经很长时间没有检查过此线程了,但是我认为我应该发布我的发现,以防万一它对任何人都有用。
一台搭载Intel N2807的低端计算机,在我未设置... max_cstates = 1时,其工作时间从未超过3000万而不崩溃,现在与5.3.1或4.19.75版本的内核完美兼容。我在每个版本上都运行了几天,没有任何问题。平均功耗也下降了10%多一点。
最早于2015年12月8日报告此错误,大约花了四年的时间来解决。