前言:如下内容已经是在hang完大概半个多月后了,当时想写,一直没过来写,写blog果然也是已经花费时间的事情。

最近一直在休假,电脑的使用频率也不多。后来还是为了生活,不情愿的去开始上班了,上班的第一件事是什么呢? 当然是配置网路,配好了网路之后,我就开始滚系统(就全系统更新至最新包的意思,因为我们archer的特性之一就是滚动更新,恩,更新都是用滚的。),好久没有正经用了,当然要进入最好最新的状态才能稍微愉快的开始工作了,随便也为新同事们秀一秀我的系统。

就酱,上了两天。就发现不对劲。用着用着X就挂了。不用说,首先就是怀疑滚,系统滚进了什么不稳定的包。

查所有滚动包的列表,它们在这里:

[tong@TStation ~]$ vim /var/log/pacman.log 

查看系统日志,两招:1, journalctl。2. dmesg

[tong@TStation ~]$ dmesg 

实在抱歉的是,我当时(就是半个月前)没有把log留存下来,log里边的主要内容就是,

GPU HANG,请到 ”https://bugs.freedesktop.org/ “ 去报BUG

综合以上信息,我首先判断是intel的驱动出了问题。查看滚包列表里也确实,发现了内核包(linux)的更新。(intel的驱动在linux内核包里)。然后我就downgrade了linux内核包。

downgrade的方法: 因为arch是滚动更新的,且所有包都由上游提供,所以不提供官方的downgrade方法。换句话说就是arch只负责让你滚上去,而不负责帮你滚下来。

基于以上,一般的做法是,保留旧几个版本的更新包,当出现问题时,可以手动讲单包回退至指定版本。

旧包都保留在这个地方 /var/cache/pacman/pkg/ 系统会基于规则删除最旧的,路径和规则都是可配置的,怎么配就不写了,有兴趣的自行查询手册。

然后找到我需要降回去的linux版本的包,使用pacman降回去,并重启:

[tong@TStation ~]$ pacman -U /var/cache/pacman/pkg/linux-4.7.--x86_64.pkg.tar.xz 

以上,是确认了确实是某包故障时的常规解决方法。

然而,可想而知,我的问题,并没有那么简单。降级了kernel,问题依然存在。

于是又陷入了毫无头绪的状态下,遂,求google帮忙。同样没有找到有用的信息。

这期间我也是一直在搜寻着导致这个问题的蛛丝马迹,我当时依然在看dpdk的文档,同时开着win虚拟机和一些其他项目的同事通过QQ沟通,是的,大家依赖着QQ。这样,工作不久,内存就会达到某个临界值,chrome和qemu都在吃内存。于是我开始怀疑chrome出了什么问题。关了chrome的硬件加速,换firefox,都未能顺利解决问题。

变得束手无策了,我开始怀疑KDE(倒霉的KDE,没次又被怀疑),想换到FVWM,这个时候又提到了FVWM,尽早重新配置起来。于是在重新配置FVWM之前,我绝望般的打算去报BUG了,因为这个问题,很难提供有用的信息给开发者,从报bug到解决,定然是个漫长的过程。

报bug之前,自然是要找一找有没有报过的bug。然后我就发现了这个:

https://bugs.freedesktop.org/show_bug.cgi?id=89360

其中提到:

Short version
---
adding 'intel_iommu=igfx_off' helped

是的,还记得,为了调试DPDK,我打开了vt-d功能么?就是为了让PCI设备直接在用户态使用。参加http://www.cnblogs.com/hugetong/p/5904024.html

如此回想起来,每次出问题都是在开启了qemu之后。

总结:

1. 去掉内核选项 intel_iommu=on

2. 升级内核至最新。

3. 重启

问题解决 : )

解决归解决,还是有两个引申出来的问题

1. FVWM,需要重新配置起来,处于可用状态,随时待命。

2. 听闻了 zfs,brtfs两个文件系统?可以文件系统级别快照,回滚??

[troubleshoot][archlinux][X] GPU HANG的更多相关文章

  1. GPU hang

    最近做新项目 初期一直遇到个gpu hang的问题 就是command 提交过去gpu 就一直在那里 直到time out 也没什么别的错误提示 gpu debugger还抓不了 解决方案是 缩小之后 ...

  2. [troubleshoot][archlinux][X] plasma(KDE) 窗口滚动刷新冻结(约延迟10s)(已解决,root cause不明,无法再次复现)

    现象: konsole,setting等plasma的系统应用反应缓慢,在滚动条滚动时,尤为明显. 触发条件: 并不是十分明确的系统滚动升级(Syu)后,产生. 现象收集: 可疑的dmesg [ :: ...

  3. [troubleshoot][archlinux][bcache] 修改linux文件系统 / 分区方案 / 做混合硬盘 / 系统转生大!手!术!(调整底层架构,不!重!装!)

    目标: 我要做的事情是:修改文件系统,硬盘分区方案,但是不重装系统,整个操作不被应用层感知. 背景: 我的笔记本 ThinkPad T450.8G内存 + 16GB SSD + 1TB HDD.预装w ...

  4. [daily][troubleshoot][archlinux][wps][font] wps文档中的图内容无法显示中文

    序 用linux作为工作生产环境的几个需要解决的问题之一是:文档协作,即如何兼容Micro$oft Office格式的文档. 我一般的工作方式是:在linux下创建一个win7的虚拟机,安装常用的wi ...

  5. [archlinux][hardware] ThankPad T450自带SSD做bcache之后的使用寿命分析

    这个分析的起因,是由于我之前干了这两个事: [troubleshoot][archlinux][bcache] 修改linux文件系统 / 分区方案 / 做混合硬盘 / 系统转生大!手!术!(调整底层 ...

  6. [daily][archlinux][fonts] 在linux下管理字体

    序: linux是社区搞出来, 商业应用也都是服务器场景.社区里又都是技术人员.字体又是细节.而且会英文早成了标配.所以没有很多社区以外的人力来搞字体这个毫无回报的东西. 结果很自然的,装linux桌 ...

  7. [archlinux][crypto] 从T450迁移archlinux操作系统至T460s笔记本

    从T450笔记本迁移archlinux操作系统之T460s笔记本,同时: 1.  使用cryptsetup做底层块加密. 2.    全新使用btrfs文件系统. 一,硬盘分区. 1T的SSD,使用U ...

  8. [daily][archlinux][rsync] rsync

    科普文档:https://wiki.archlinux.org/index.php/Rsync 之前改文件系统时,用过. 然而用的不太对,导致一部分文件的权限出了问题. [troubleshoot][ ...

  9. 一篇分析诊断被"hang"住数据库的资料(Oracle Performance Diagnostic Guide——Hang/Locking)

    该资料已上传至本人QQ群空间,如需该资料,可到本人QQ群空间查找.下面贴表文本: Oracle Performance Diagnostic GuideHang/LockingVersion 3.1. ...

随机推荐

  1. HDU4971 A simple brute force problem.(强连通分量缩点 + 最大权闭合子图)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=4971 Description There's a company with several ...

  2. java-类

    浏览以下内容前,请点击并阅读 声明 java是面向对象的语言,而对象的创建,则需要借助类,类可以说是一个创建对象的模具(个人理解). 类的定义 以下构成定义类的最简单(不能再简单)语句: class ...

  3. window计划任务

    我的电脑->管理->任务计划程序     [或:控制面板->类别:大图像->管理工具->任务计划程序] 右边创建任务: 常规:名字和 是否 只在用户登录是运行 触发器:新 ...

  4. 如何查看项目svn路径

    1.选择项目根目录---->鼠标右键---->属性---->版本控制(Subversion) 如图:

  5. 只有火狐识别的css

    写在css里写只有火狐可以识别,其他浏览器不行. 就算写在@media only screen and (min-width: 960px) and (max-width: 1200px){ 里面也行 ...

  6. Hive内部表外部表转化分析(装)

    link:http://anyoneking.com/archives/127hive表分为内部表和外部表.外部表在删除的时候并不会删除到hdfs中的文件,比较安全,所以对于重要的需要进行分析的日志建 ...

  7. 使用javax.persistence注解配置PO对象

    JPA注解持久化类很方便,需要jar包:ejb3-persistence.jar下载 import java.io.Serializable; import javax.persistence.Col ...

  8. 经验分享:多屏复杂动画CSS技巧三则

    当下CSS3应用已经相当广泛,其中重要成员之一就是CSS3动画.并且,随着CSS动画的逐渐深入与普及,更复杂与细腻的动画场景也如雨后春笋般破土而出.例如上个月做的「企业QQ-新年祝福」活动: 感谢sh ...

  9. ORA-01034错误:ORALCE NOT CONNECT

    解决办法: 启动数据库 sqlplus '/as sysdba '  startup;

  10. Linux_查看linux并发连接数

    1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a ...