日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

kernel panic必备知识

發布時間:2023/12/15 综合教程 20 生活家
生活随笔 收集整理的這篇文章主要介紹了 kernel panic必备知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

獲得vmcore

Kernel dump 是什么

Kdump – 捕捉kernel dump的工具

Kdump的工作原理

Kdump的配置

Dump分析的工具crash(1)

準備環境

根據vmcore文件獲取內核版本及系統信息

kernel debuginfo 內核符號文件

Kernel source code

RHEL與SLES的不同

時區設置

運行crash utility:基于vmcore或基于live system

Dump分析的思路:從哪里開始

判斷panic類型

系統信息 sys

Message buffer – log

Kernel panic的若干種類型

Hard lockup

Kernel panic – not syncing: Watchdog detected hard LOCKUP on cpu 0

soft lockup

kernel panic – not syncing: softlockup: hung tasks

hung task panic

kernel panic – not syncing: hung_task: blocked tasks

oom

Kernel panic – not syncing: Out of memory: system-wide panic_on_oom is enabled

空指針/非法指針

BUG: unable to handle kernel NULL pointer dereference at 0000000000000650
BUG: unable to handle kernel paging request at ffff88081fc03cd0

MCE(Machine Check Exception)

Kernel panic – not syncing: Fatal Machine Check

NMI

Kernel panic – not syncing: NMI IOCK error: Not continuing

HP Watchdog timer module [hpwdt]

Kernel panic – not syncing: An NMI occurred, please see the Integrated Management Log for details

SysRq

PANIC: “SysRq: Trigger a crashdump”

BUG_ON() 斷語

kernel BUG at fs/inode.c:322!

理解函數調用棧(backtrace)

代碼的執行軌跡

CPU寄存器狀態pt_regs
棧幀里的數據
內核棧溢出
匯編指令
調用約定(call convention)
call/ret/leave指令
參數傳遞約定
通用寄存器,caller-saved vs. callee-saved
對照源代碼
changelog
內核模塊
Taint flags
crash utility如何加載內核模塊的調試信息
Hang分析

思路

是沒有可運行的進程?
還是有很多進程想運行但搶不到CPU?
什么是uninterruptible sleep
搶占式內核也有不能被搶占的情況
自旋鎖spinlock
crash工具的基本命令

進程 ps/task/runq/bt

內存kmem/vm/swap/ipcs

IO : dev/mount/files/fuser

網絡 net

Crash utility擴展工具

PyKdump

總結

以上是生活随笔為你收集整理的kernel panic必备知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。