Linux 系统报错 rcu_preempt detected stalls on CPUs/tasks

说在前面的一些废话:程序员

这是什么错误我不知道,为何出现我不知道!小程序

那为何还要把他写出来了,只是由于这个错误遇到了,并且浪费了我不少时间和精力。学习

故事留给本身看,解决办法就是,从新升级一下Linux系统内核。spa

这个问题出如今Reboot以后,不能进入不了系统,平均发生概率是40次左右出现一次。线程

以后从新升级完内核后没有出现。至于内核改了什么我也不知道。blog

Linux 系统报错以下:扩展

 

故事:软件

去年用C语言写的软件,过年客户才真正用起来,结果连续不断的出现死机的问题.程序

怀疑是本身的程序写的有问题,开始各类尝试,本身也作各类耐久验证,跑了半个月都没有发现问题。im

对于这些问题,也问了工控机的厂商,他们说是环境会有影响。

而后是咱们的各类验证,还好现场还有两个正常运行的机器,

基于小白的基本验证法则(对Linux系统仅限于简单命令的操做):

1.咱们把正常的和异常的机器进行交换,结果3天都没事.

2.把咱们验证好的盒子寄给现场,进行更换。结果2个小时就挂了。

这是什么结论???

还要就在咱们要飞到现场的时候,现场把更换下来盒子寄给了咱们。

无论Linux的专业知识水平怎么样,硬着头皮上吧!

就连同事也以为可能验证不出来什么东西。

刚开始验证风平浪静,十几回种操做的验证,全都很正常,我也要放弃了,就像舌尖上的中国说的,“剩下的就交给时间了”。

一次不甘心的重启后,异常再现了。这时感受好像,everything is contorl~~~非常兴奋!

这就是厂商的问题了,我很幸运,再十几回的就出了这个异常,由于再后面的验证中,反复重启100次才出了这个异常。

其实这并非什么高深的技术,我也不清楚内核里面到底改了什么,这个问题的发生机制是什么,

也没有资格说厂商太不专业(由于我只是找到问题的人,最后解决问题的仍是人家)?

只是记录一下,这件事带来的感触。

1.面对别人的质疑---只能先自我怀疑,再自我确定

动不动别人就是说程序写的有问题,但没有找到其余缘由,你又不能说没问题,只能一遍一遍的检查程序,偶尔想到什么就赶快改上去验证。

其实就是别人不说,我也在问本身到底那里的问题,只是一听别人这么说我就有点火。

可是真的很幸运现场有两台设备因为不是一批购买的,始终没有出现问题,慢慢的我对程序仍是有信心了。

2.好的点子,都是慢慢熬出来的

那时候对本身也没有信心,不肯想这件事,可是天天都要面对,现场说又坏了,虽然别人不要你赔偿什么但老是感受好像亏欠别人什么。

本身技术能力有限出现这个匪夷所思的问题,真的有种一筹莫展的感受。这能从简单的验证下手,没想到解决了。

固然这些想法不是凭空出现的,对于我这种想了10来天才出现。

3.什么才是真正的技术---真正的技术是没有尽头的探究,但现实的问题可能没有那么复杂。

我这种三线程序的小程序员,只是技术上的搬运工,把别人现成的东西直接用。有些地方可能都没看懂,速成式的学习,只知其一;不知其二的应用。

可是在现场真的不是那么轻松了,出问题就要解决。你要对只知其一;不知其二付出代价的!

不过别慌,基本的逻辑法则仍是通用的,简单的说:交换,再现,交给时间!

扩展来讲:

交换排插缘由,进行再现问题的各类模拟,若是短期什么都不行只要别放弃,把问题交给时间确定一天答案会出现再你面前!

对本身的程序须要不停的完善他,问本身那里还能作的更好!

相关文章
相关标签/搜索