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.什麼纔是真正的技術---真正的技術是沒有盡頭的探究,但現實的問題可能沒有那麼複雜。

我這種三線程序的小程序員,只是技術上的搬運工,把別人現成的東西直接用。有些地方可能都沒看懂,速成式的學習,只知其一;不知其二的應用。

可是在現場真的不是那麼輕鬆了,出問題就要解決。你要對只知其一;不知其二付出代價的!

不過別慌,基本的邏輯法則仍是通用的,簡單的說:交換,再現,交給時間!

擴展來講:

交換排插緣由,進行再現問題的各類模擬,若是短期什麼都不行只要別放棄,把問題交給時間確定一天答案會出現再你面前!

對本身的程序須要不停的完善他,問本身那裏還能作的更好!

相關文章
相關標籤/搜索