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

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

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

方案1:

在kernel flag里加上:

intel_idle.max_cstate=

经测试,在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= intel_idle.max_cstate=

或者

processor.max_cstate=

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

方案3:

kernel flag:

intel_idle.max_cstate=

在rc.local加上:

echo  > /sys/devices/system/cpu/intel_pstate/no_turbo
echo > /sys/devices/system/cpu/cpu0/cpuidle/state3/disable
echo > /sys/devices/system/cpu/cpu1/cpuidle/state3/disable
echo > /sys/devices/system/cpu/cpu2/cpuidle/state3/disable
echo > /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天没有死机。

Linux Crash/Hang on Bay Trail/J1900/N2940的更多相关文章

  1. linux crash工具安装配置

    crash简介 crash是redhat的工程师开发的,主要用来离线分析linux内核转存文件,它整合了gdb工具,功能非常强大.可以查看堆栈,dmesg日志,内核数据结构,反汇编等等.crash支持 ...

  2. Bay Trail平板安装Ubuntu ThinkPad 8(20BNA00RCD)

    首先说下没搞定的事项: 1,grub不能启动w10 2,ubuntu不能检测到无线网卡硬件 3,ubuntu更新软件和语言支持时,unpacking文件时经常都会发生卡死(怀疑是emmc驱动的问题) ...

  3. linux主机hang住echo 0 > /proc/sys/kernel/hung_task_timeout_secs disables this message

    用dmesg显示如下图信息 问题原因: 默认情况下, Linux会最多使用40%的可用内存作为文件系统缓存.当超过这个阈值后,文件系统会把将缓存中的内存全部写入磁盘, 导致后续的IO请求都是同步的. ...

  4. Intel baytrail-t support Linux?

    点击这里查看文章 有空试试---唉... Ubuntu (Linux) on Atom Z3700 Series ASUS Transformer Book T100 is particularly ...

  5. 内核调试工具 — kdump & crash

    kdump简介 kdump是系统崩溃的时候,用来转储运行内存的一个工具. 系统一旦崩溃,内核就没法正常工作了,这个时候将由kdump提供一个用于捕获当前运行信息的内核, 该内核会将此时内存中的所有运行 ...

  6. 一个suse11 sp1的crash工具版本问题

    这几年排查的各种类型的crash也比较多了,各种类型的也算见过,但是排查这个crash,走了不该走的弯路,事后显得很low,为了防止自己犯类似错误,也同时提醒后人,记录之. 内核是suse11,sp1 ...

  7. 从mdb到crash

    本文面向使用过Solaris的mdb但是没有使用过Linux的crash的同学.比如说我自己,mdb用了很多年,现在全面转向Linux平台,于是很好奇Linux有没有类似的工具.熟悉Solaris的同 ...

  8. kdump机制和crash常见使用

    kdump简介 kdump是系统崩溃的时候,用来转储运行内存的一个工具. 系统一旦崩溃,内核就没法正常工作了,这个时候将由kdump提供一个用于捕获当前运行信息的内核, 该内核会将此时内存中的所有运行 ...

  9. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

随机推荐

  1. ThreadLocal的基本原理与实现

    一.概念 首先,ThreadLocal并不是一个Thread,这个类提供了线程局部变量,这些变量不同于它们的普通对应物,因为访问某个变量的每个线程都有自己的局部变量,它独立于变量的初始化副本. 二.基 ...

  2. Studio for WPF:定制 C1WPFChart 标记

    在本篇文章中,我们将阐述如何定制 C1WPFChart 数据点的标记. 下面分步讲解实现: 1.定制自定义样式: 1: <Window.Resources> 2: <Style x: ...

  3. [PHP] 命令行执行整合pathinfo模拟定时任务

    命令行模式下,根据传参,调用不同控制器.控制器中根据配置定时执行指定方法 Application.php <?php class Application{ public static funct ...

  4. EffectiveJava——类层次优于标签类

    标签类: 有时候,可能会遇到带有两种甚至更多钟风格的类的实例的类,并包含表示实例风格的(tag)域.例如下面这个类,它能够表示圆形或者矩形: /** * 类层次优先与标签类 * @author wei ...

  5. linux系统如何将系统中的文件名改为英文?

    由于我们经常在命令行模式下进入文件,那么中英文的切换常常会影响我们输入的效率. 那么如何将原来的中文修改成英文的字幕呢? 如下图所示: -------------------------------- ...

  6. 利用PBFunc在Powerbuilder中解析Json对象

    利用PBFunc工具在Powerbuilder解析json,只需要调用getattribute方法来获取 解析unicode格式的json: n_pbfunc_json lnv_json lnv_js ...

  7. Angularjs,WebAPI 搭建一个简易权限管理系统 —— Angularjs 前端主体结构(五)

    目录 前言 Angularjs名词与概念 Angularjs 基本功能演示 系统业务与实现 WebAPI项目主体结构 Angularjs 前端主体结构 6 Angularjs 前端主体结构 6.1 A ...

  8. Mysql进阶(二)

    一.触发器 对某个表进行[增/删/改]操作的前后如果希望触发某个特定的行为时,可以使用触发器,触发器用于定制用户对表的行进行[增/删/改]前后的行为. 创建视图 # 插入前CREATE TRIGGER ...

  9. 配置VS代码生成工具ReSharper快捷键

    VS代码生成工具ReSharper提供了丰富的快捷键,可以极大地提高你的开发效率.安装ReSharper后首次启动Visual Studio时,会出现一个名为ReSharper Keyboard Sc ...

  10. JSON详解 .net

    之前json掌握的不好,浪费了好多时间在查找一些json有关的转换问题,我所知道的方法只有把json序列化和反序列化一下,但是太麻烦了我觉得,所以就在找一些更简单又方便使用的方法.也许这个会有用吧,所 ...