如何使用crash工具分析Linux內核崩潰轉儲檔

來源:互聯網
上載者:User
關鍵字 Linux 內核崩潰 轉儲檔

本文首先介紹了 crash 的基本概念和安裝方法,其次詳細介紹了如何使用 crash 工具分析內核崩潰轉儲檔,包括各種常用調試命令的使用方法,最後以幾個實際工作中遇到的真實案例向讀者展示了 crash 的強大功能。 在這篇文章中,既有詳細的工具使用方法,又有豐富的實際HTTP://www.aliyun.com/zixun/aggregation/7734.html">案例分析,相信您讀過以後定會受益匪淺。

什麼是 crash

如前文所述,當 linux 系統內核發生崩潰的時候,可以通過 kdump 等方式收集內核崩潰之前的記憶體,生成一個轉儲檔 vmcore。 內核開發者通過分析該 vmcore 檔就可以診斷出內核崩潰的原因,從而進行作業系統的代碼改進。 那麼 crash 就是一個被廣泛使用的內核崩潰轉儲檔分析工具,掌握 crash 的使用技巧,對於定位問題有著十分重要的作用。

使用 crash 的先決條件

由於 crash 用於調試內核崩潰的轉儲檔,因此使用 crash 需要依賴如下條件:

1. kernel 映射檔 vmlinux 在編譯的時候必須指定了 -g 參數,即帶有調試資訊。

2. 需要有一個記憶體崩潰轉儲檔(例如 vmcore),或者可以通過 /dev/mem 或 /dev/crash 訪問的即時系統記憶體。 如果 crash 命令列沒有指定轉儲檔,則 crash 預設使用即時系統記憶體,這時需要 root 許可權。

3. crash 支援的平臺處理器包括:x86, x86_64, ia64, ppc64, arm, s390, s390x ( 也有部分 crash 版本支援 Alpha 和 32-bit PowerPC,但是對於這兩種平臺的支援不保證長期維 護 )。

4. crash 支援 2.2.5-15(含)以後的 Linux 內核版本。 隨著 Linux 內核的更新,crash 也在不斷升級以適應新的內核。

crash 安裝指南

要想使用 crash 調試內核轉儲檔,需要安裝 crash 工具和內核調試資訊包。 不同的發行版本安裝包名稱略有差異,這裡僅列出 RHEL 和 SLES 發行版本對應的安裝包名稱如下:

表 1. crash 工具和內核調試包

系統版本 crash 工具名稱 內核調試資訊包 RHEL6.2 crash kernel-debuginfo-common


kernel-debuginfo SLES11SP2 crash kernel-default-debuginfo


kernel-ppc64-debuginfo

以 RHEL 為例,安裝 crash 及內核調試資訊包的步驟如下:

rpm -ivh crash-5.1.8-1.el6.ppc64.rpm rpm -ivh kernel-debuginfo-common-ppc64-2.6.32-220.el6.ppc64.rpm rpm -ivh kernel-debuginfo-2.6.32-220.el6.ppc64.rpm

啟動 crash

啟動參數說明

使用 crash 調試轉儲檔,需要在命令列輸入兩個參數:debug kernel 和 dump file,其中 dump file 是內核轉儲檔的名稱,debug kernel 是由內核調試資訊包安裝的,不同的發行版本名稱略有不同,以 RHE L 和 SLES 為例:

RHEL6.2:/usr/lib/debug/lib/modules/2.6.32-220.el6.ppc64/vmlinux SLES11SP2:/usr/lib/debug/boot/ vmlinux-3.0.13-0.27-ppc64.debug

使用 crash -h 或 man crash 可以查看 crash 支援的一系列選項,這裡僅以常用的選項為例說明如下:

-h:列印説明資訊

-d:設置調試級別

-S:使用 /boot/System.map 作為預設的映射檔

-s:不顯示版本、初始調試資訊等,直接進入命令列

-i file:啟動之後自動運行 file 中的命令,再接受使用者輸入

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.