[步骤] Linux Kdump 内核奔溃信息的分析 (Rocky Linux & RHEL 版)

注意:

在分析 Kdump 内核奔溃信息之前要先开启 Kdump:

正文:

步骤一:确保 crash 和 kernel-debuginfo 两个软件包已安装

# rpm -qa | grep "crash|kernel-debug"

(注意:如果 crash 和 kernel-debuginfo 两个软件包已安装的话,这里会有 crash 和 kernel-debuginfo 信息的显示)

步骤二:进入存放 KDUMP 内核奔溃信息的目录

# cd /var/crash/<date>/

步骤三:解析 KDUMP 生成内核崩溃信息

# crash vmlinux-2.6.32.12-0.7-default vmcore

(补充:这里以使用 2.6.32.12-0.7-default 版本的 kernel-debuginfo 解析为例)

步骤四:确认生成了 vmlinux-2.6.32.12-0.7-default.gz 压缩包

# ls vmlinux-2.6.32.12-0.7-default.gz

(注意:如果这里生成了 vmlinux-2.6.32.12-0.7-default.gz 压缩包的话,这里会有 vmlinux-2.6.32.12-0.7-default.gz 信息的显示)

(补充:这里以确认 2.6.32.12-0.7-default 版本的 kernel-debuginfo 生成的压缩包为例)

步骤五:解压 vmlinux-2.6.32.12-0.7-default.gz 压缩包

# gzip -d vmlinux-2.6.32.12-0.7-default.gz

(补充:这里以解压 2.6.32.12-0.7-default 版本的 kernel-debuginfo 生成的压缩包为例)

步骤六:分析 KDUMP 生成的内核奔溃信息

(步骤略)

[排错] 解决 Linux 运行时报错 “watchdog: Bug: soft lockup – CPU……” (CPU 软锁)

报错代码:

watchdog: Bug: soft lockup - CPU......

分析:

当 CPU 的负载过高时,一个 CPU 在运行某一个进程时,在内核模式下超过 20 秒没有回应,则看门狗程序会将系统所有 CPU 软锁住,然后会让这些 CPU 显示各自正在运行的进程堆栈跟踪

缓解方法:

延长看门狗等待 CPU 内核模式下的回应时间

方法一:通过 /proc/sys/kernel/watchdog_thresh 文件提高看门狗软所 CPU 的时间

# echo 20 > /proc/sys/kernel/watchdog_thresh

(补充:这里以将看门狗的值提高到为 20 为例,也可以根据自己的需求提高更多,默认值为 10)

方法二:通过新建文件提高看门狗软所 CPU 的时间
2.1 通过新建文件提高看门狗软所 CPU 的时间

# echo "kernel.watchdog_thresh=20" > /etc/sysctl.d/99-watchdog_thresh.conf

(补充:这里以将看门狗的值提高到为 20 为例,也可以根据自己的需求提高更多,默认值为 10)

2.2 让新建文件立刻生效

# sysctl -p  /etc/sysctl.d/99-watchdog_thresh.conf

深究方法:

开启 Kdump,等此报错再次发生时分析 Kdump 在内核崩溃时搜集信息 vmcore

最后一个特洛伊战士

众神之晨曦,在东方升起,圣洁的阳光普照大地。雅典娜在歌唱,歌唱胜利的来临。

木马里的士兵,冒着特洛伊人的诅咒,打开了城门,让希腊联军一拥而入。

正义不属于特洛伊,雅典娜的手杖,散发着耀眼的智慧之光,照亮了希腊士兵前进的方向,映照着光明的来临。

“光明?”一个小特洛伊在我身边小声地说了一句。

我在追随着最后一支特洛伊队伍进入城市的密道时,回望着雅典娜在空中的身影。

“埃涅阿斯!”

当我们从密道出来时,与一支巡逻的希腊队伍撞在了一起,我鼓起全部勇气颤抖着冲向一个希腊士兵,却发现他毫不畏惧。

我憎恨自己所要面对的一切,憎恨雅典的自以为是,憎恨斯巴达的残暴,憎恨战俘是奴隶,女人是战利品的制度。

我憎恨宙斯的闪电划破宁静的天空,憎恨哈克斯的火球漫天飞舞,憎恨雅典娜的智慧,憎恨阿瑞斯的强大,憎恨他们以不死之身与人类战斗。

我增恨海伦花枝招展地卖弄自己的身体,憎恨她美丽,憎恨她笑容,憎恨她不以自己所引起的战争感到羞愧而是以之为自豪。

风吹走了浅浅的云层,明媚的阳光再次直射大地,透过稀稀疏疏的树林,形成了一束束的光明。

终于冲破了重围。血在剑刃上凝固,整个队伍都默不作声,“特洛伊,你到底代表着什么?”

不论天空再明在暗,海永远都是蓝色,终于快到了爱琴海,清新的空气扑面而来。

在海边,整齐地排列着一队希腊重装步兵,银色的铠甲和盾牌反射着耀眼的秩序之光,直射入特鲁伊人的眼里。

“光明?”一个小特洛伊在我身边小声地说了一句。

此时,一个身影从希腊队伍中走了出来映入了我们的眼帘:阿喀琉斯!没有人能与希腊第一勇士阿喀琉斯单独抗衡。

我抬起了头,看见雅典娜在空中得意地笑了:要么失去自由,要么失去生命。

我低下了头,为什么是我,来面对这一切。

“埃涅阿斯?”

我拔出了剑。为了自由,饱经沧桑的特洛伊军队再次向希腊的铁墙冲去。

我无法面对阿喀琉斯,我用尽全力挥舞着利剑,却怎么也无法穿透他的铠甲,而每次用盾牌格挡攻击时,却能被随之而来的剑击震麻整个手臂……

但一个声音中断了战斗,阿喀琉斯:“让他们走,他们不是特洛伊人。”

我困惑得看着阿喀琉斯,他似乎在同情特洛伊人最后的勇气。我没吭声,慢慢地向他走去。

谁也无法想象,阿喀琉斯慢慢地在我面前倒下了,他的鲜血沾在了我的身上……

最后一个希腊士兵死在了一个小特洛伊的剑下,他举目四望,却发现埃涅阿斯正站在海边哭泣,他独自说道:“宙斯想让他指定的人创造奇迹,他以为他什么都懂,但是他根本不知道一个奇迹的价值到底有多大。”

我们抢走了希腊人船只,向着西方航行,在那里我们将找到一片心的土地——意大利,我们将在那里创建一个新的国家——罗马。

(续写自 《伊利亚特》)