国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux中oops指的是什么

2024-08-27 23:54:57
字體:
來源:轉載
供稿:網友
  本篇內容介紹了“linux中oops指的是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
 
 
  在linux中,oops表示“驚訝”,是一種信息提示,意味著系統上運行的某些東西違反了內核規定的規則;oops會生成一個崩潰簽名“crash signature”,可以幫助內核開發人員找出錯誤并提高代碼質量。
 
  本教程操作環境:linux5.9.8系統、Dell G3電腦。
 
  Linux 內核正在盯著你,當它檢測到系統上運行的某些東西違反了正常內核行為時,它會關閉系統并發出一個“oops”!
 
  如果你檢查你的 Linux 系統上運行的進程,你可能會對一個叫做 “kerneloops” 的進程感到好奇。提示一下,它是 “kernel oops”,而不是 “kerne loops”。
 
  坦率地說,“oops” 是 Linux 內核的一部分出現了偏差行為。你有做錯了什么嗎?可能沒有。但有一些不對勁。而那個做了錯事的進程可能已經被 CPU 結束。最糟糕的是,內核可能會報錯并突然關閉系統。
 
  請注意,“oops” 不是首字母縮略詞。它不代表像“面向對象的編程和系統object-oriented programming and systems” 或“超出程序規范out of procedural specs” 之類的東西。它實際上就是“哎呀” (oops),就像你剛掉下一杯酒或踩在你的貓身上。哎呀! “oops” 的復數是 “oopses”。
 
  oops 意味著系統上運行的某些東西違反了內核有關正確行為的規則。也許代碼嘗試采取不允許的代碼路徑或使用無效指針。不管它是什么,內核 —— 總是在監測進程的錯誤行為 —— 很可能會阻止特定進程,并將它做了什么的消息寫入控制臺、 /var/log/dmesg 或 /var/log/kern.log 中。
 
  oops 可能是由內核本身引起的,也可能是某些進程試圖讓內核違反在系統上能做的事以及它們被允許做的事。
 
  oops 將生成一個崩潰簽名crash signature,這可以幫助內核開發人員找出錯誤并提高代碼質量。
 
  系統上運行的 kerneloops 進程可能如下所示:
 
  kernoops 881 1 0 Feb11 ? 00:00:01 /usr/sbin/kerneloops
  你可能會注意到該進程不是由 root 運行的,而是由名為 “kernoops” 的用戶運行的,并且它的運行時間極少。實際上,分配給這個特定用戶的唯一任務是運行 kerneloops。
 
  $ sudo grep kernoops /etc/passwd
  kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
  如果你的 Linux 系統不帶有 kerneloops(比如 Debian),你可以考慮添加它。查看這個 Debian 頁面了解更多信息。
 
  什么時候應該關注 oops?
 
  一般 oops 沒什么大不了的。它在一定程度上取決于特定進程所扮演的角色。它也取決于 oops 的類別。
 
  有些 oops 很嚴重,會導致系統恐慌system panic。從技術上講,系統恐慌是 oops 的一個子集(即更嚴重的 oops)。當內核檢測到的問題足夠嚴重以至于內核認為它(內核)必須立即停止運行以防止數據丟失或對系統造成其他損害時會出現。因此,系統需要暫停并重新啟動,以防止任何不一致導致不可用或不可靠。所以系統恐慌實際上是為了保護自己免受不可挽回的損害。
 
  總之,所有的內核恐慌都是 oops,但并不是所有的 oops 都是內核恐慌。
 
  /var/log/kern.log 和相關的輪轉日志(/var/log/kern.log.1、/var/log/kern.log.2 等)包含由內核生成并由 syslog 處理的日志。
 
  kerneloops 程序收集并默認將錯誤信息提交到 http://oops.kernel.org/,在那里它會被分析并呈現給內核開發者。此進程的配置詳細信息在 /etc/kerneloops.conf 文件中指定。你可以使用下面的命令輕松查看設置:
 
  $ sudo cat /etc/kerneloops.conf | grep -v ^# | grep -v ^$
  [sudo] password for shs:allow-submit = ask
  allow-pass-on = yes
  submit-url = http://oops.kernel.org/submitoops.phplog-file = /var/log/kern.logsubmit-pipe = /usr/share/apport/kernel_oops
  在上面的(默認)設置中,內核問題可以被提交,但要求用戶獲得許可。如果設置為 allow-submit = always,則不會詢問用戶。
 
  調試內核問題是使用 Linux 系統的更高級技巧之一。幸運的是,大多數 Linux 用戶很少或從沒有經歷過 oops 或內核恐慌。不過,知道 kerneloops 這樣的進程在系統中執行什么操作,了解可能會報告什么以及系統何時遇到嚴重的內核沖突也是很好的。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏边| 武邑县| 通化市| 广平县| 福州市| 新巴尔虎右旗| 贡山| 洪湖市| 金川县| 右玉县| 九江县| 平舆县| 名山县| 兰西县| 湘阴县| 攀枝花市| 大宁县| 碌曲县| 龙川县| 长垣县| 凉城县| 辽宁省| 株洲市| 马边| 朝阳市| 句容市| 遂宁市| 镶黄旗| 九台市| 容城县| 夏津县| 施秉县| 六安市| 禹州市| 普陀区| 小金县| 普安县| 南华县| 万安县| 凤冈县| 海晏县|