kernel 相关包
cnetos8以后有个毛病,执行yum install kernel安装的时候,会自动安装新版本的kernel,而不是本机对应的kernel版本
hung产生core dump
echo 1 > /proc/sys/kernel/hung_task_panic
第一步:下载内核符号
yum –enablerepo=base-debuginfo install -y kernel-debuginfo-$(uname -r)
如果安装不了,可以到
http://debuginfo.centos.org/8/x86_64/Packages/
上去下载对应的安装包
如果是8.4或者8.2以上系统,可以修改
/etc/yum.repos.d/CentOS-Linux-Debuginfo.repo
设置enable=1
然后执行
yum install -y kernel-debuginfo
[root@centos-test ~]# yum install -y kernel-debuginfo
Last metadata expiration check: 0:06:15 ago on Thu 16 Sep 2021 01:17:11 PM CST.
Dependencies resolved.
======================================================================================================================
Package Architecture Version Repository Size
======================================================================================================================
Installing:
kernel-debuginfo x86_64 4.18.0-305.19.1.el8_4 debuginfo 570 M
Installing dependencies:
kernel-debuginfo-common-x86_64 x86_64 4.18.0-305.19.1.el8_4 debuginfo 75 M
Transaction Summary
======================================================================================================================
Install 2 Packages
Total size: 645 M
Total download size: 570 M
Installed size: 3.3 G
Downloading Packages:
[SKIPPED] kernel-debuginfo-common-x86_64-4.18.0-305.19.1.el8_4.x86_64.rpm: Already downloaded
(2/2): kernel-debuginfo-4.18.0-305.19.1 36% [============== ] 1.5 MB/s | 237 MB 04:32 ETA
第二步:安装crash工具
yum install crash -y
第三步:分析core dump文件
执行命令:
crash /usr/lib/debug/lib/modules/4.18.0-80.el8.x86_64/vmlinux /var/crash/127.0.0.1-2021-09-09-17\:09\:12/vmcore
如果是第一次执行crash,会下载一些相关的符号,会慢一点。
从图中可以看到,这个core dump文件并不是系统crash了,而是系统hung住了。
执行一下bt命令,如下:
也可以看出来,是watchdog检测到hung的时间超过了设置值,就出发了panic。
我们执行一下log命令,看一下dmesg显示的信息是什么,定位一下真正的hung是什么原因,如图:
看箭头所指部分,打马赛克的地方是因为内部驱动名称,所以暂时遮住,不影响分析。看第一个箭头部分,调用了down,也就是说是死锁了,down一直不返回,或者超时了。