Linux Crash/Hang on Bay Trail/J1900/N2940

近几年的linux kernel, 尤其是4.1以后,在Bay Trail平台上会随机挂起和死机,亲测j1900,死机非常频繁,而且死机前毫无征兆,直接就挂起了,console也没有相应。

这个问题在bugzilla.kernel.org上已经吵翻了,从2015年年初,一直到现在,仍然没有彻底解决,临时方案有几个,但不保证一定管用。

总结一下自己的j1900测试过的,可能管用的方案。

方案1:

在kernel flag里加上:

intel_idle.max_cstate=1

经测试,在ubuntu 14.04, 15.10上有效,功耗会略微增大,但是在ubuntu 16.04上无效,仍然死机,只是死机间隔变长。

编辑/etc/default/grub,加一行:

GRUB_CMDLINE_LINUX="intel_idle.max_cstate=1"

 

方案2:

kernel flag加上:

processor.max_cstate=1 intel_idle.max_cstate=0

或者

processor.max_cstate=1

没有经过长期测试,效果未知。参考文档

 

方案3:

kernel flag:

intel_idle.max_cstate=5

在rc.local加上:

echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
echo 1 > /sys/devices/system/cpu/cpu0/cpuidle/state3/disable
echo 1 > /sys/devices/system/cpu/cpu1/cpuidle/state3/disable
echo 1 > /sys/devices/system/cpu/cpu2/cpuidle/state3/disable
echo 1 > /sys/devices/system/cpu/cpu3/cpuidle/state3/disable

禁用state3,正在测试中,效果未知。

cpuidle state似乎没法在登陆之后更改,总是提示Permission denied,用sudo也不行。

---------------------------

更新:

只禁用state3仍然会死机。大约24小时就会死机。

正在测试禁用state2至state5。

 

 更新2:

在bios中将主板设置成win8模式,内核更新到4.4.0-57,使用intel_idle.max_cstate=1内核参数,似乎是一个解决方案。9天没有死机。

转载于:https://www.cnblogs.com/cobranail/p/6032890.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值