我的一台 Mysql 复制服务器在夜间重新启动了,我正在尝试找出原因。运行命令last
显示以下行:
reboot system boot 2.6.32-71.29.1.e Wed Jul 31 04:37 - 11:02 (06:24)
我正在尝试读取vmcore
在重新启动期间创建的文件。我安装了kernel-debuginfo
创建该vmlinux
文件的软件包。然后我运行:
[root@dbs ~]# crash -s /usr/lib/debug/lib/modules/2.6.32-358.14.1.el6.centos.plus.x86_64/vmlinux /var/crash/127.0.0.1-2013-07-31-01:33:32/vmcore
crash 6.1.0-1.el6
crash: invalid kernel virtual address: 68f8e06b73fe5f1f type: "possible"
WARNING: cannot read cpu_possible_map
crash: invalid kernel virtual address: fce96c6b73fe5f1f type: "present"
WARNING: cannot read cpu_present_map
crash: invalid kernel virtual address: e10de07591befc69 type: "online"
WARNING: cannot read cpu_online_map
crash: /usr/lib/debug/lib/modules/2 and /var/crash/127.0.0.1-2013-07-31-01:33:32/vmcore do not match!
Usage:
crash [OPTION]... NAMELIST MEMORY-IMAGE (dumpfile form)
crash [OPTION]... [NAMELIST] (live system form)
Enter "crash -h" for details.
[root@dbs ~]#
有人能指出我做错了什么吗?我想知道为什么 vmcore 和 vmlinux 表现不怎么样,因为 vmlinux 是在我安装 kernel-debuginfo 包时生成的...
[root@dbs 2.6.32-358.14.1.el6.centos.plus.x86_64]# rpm -qa |grep kernel-debug
kernel-debuginfo-common-x86_64-2.6.32-358.14.1.el6.centos.plus.x86_64
kernel-debug-2.6.32-358.14.1.el6.x86_64
kernel-debuginfo-2.6.32-358.14.1.el6.centos.plus.x86_64
[root@dbs 2.6.32-358.14.1.el6.centos.plus.x86_64]# uname -r
2.6.32-71.29.1.el6.x86_64
[root@dbs 2.6.32-358.14.1.el6.centos.plus.x86_64]#
为什么kernel-debuginfo
生成的包是错误的vmlinux
?
uname -r
显示内核版本为 2.6.32-71.29.1,而已vmlinux
生成的包的版本为 2.6.32-358.14.1?
[root@dbs ~]# yum list installed |grep kernel
abrt-addon-kerneloops.x86_64
dracut-kernel.noarch 004-33.2.el6_0 @updates
kernel.x86_64 2.6.32-71.el6 @anaconda-CentOS-201106060106.x86_64/6.0
kernel.x86_64 2.6.32-71.29.1.el6
kernel-debuginfo.x86_64 2.6.32-358.14.1.el6.centos.plus
kernel-debuginfo-common-x86_64.x86_64
kernel-headers.x86_64 2.6.32-71.29.1.el6
[root@dbs ~]#
答案1
我找到了解决方案!我采取的步骤如下:
[root@dbs ~]# uname -r
2.6.32-71.29.1.el6.x86_64
[root@dbs ~]#
我跑了:
[root@dbs ~]# yum provides kernel-debuginfo-2.6.32
并手动寻找:
kernel-debuginfo-2.6.32-71.29.1.el6.x86_64
然后我运行:
rpm -qa |grep ^kernel
并yum remove
输入当前安装的错误版本kernel-debuginfo
。
然后我安装了正确的kernel-debuginfo-2.6.32-71.29.1.el6.x86_64
,运行updatedb
,然后用正确的版本locate
安装了新的。然后我使用了下一个命令:崩溃报告成功运行。感谢你的帮助@ALex_hha。vmlinux
crash /usr/lib/debug/lib/modules/2.6.32-71.29.1.el6.x86_64/vmlinux /var/crash/127.0.0.1-2013-07-31-01\:33\:32/vmcore