Linux 下的kdump的使用--CentOs 6.3

来源:互联网 发布:数码宝贝第一部知乎 编辑:程序博客网 时间:2024/05/03 13:24
Linux 下的kdump的使用--CentOs 6.3

1、在安装的时候,安装的最后,kdump使能,我选择的256m,反正不缺内存;
2、系统默认支持了kdump,但是无法调试的,因为本机是没有vmlinux这个文件的,所以需要重新做一个内核,安装,内核选项默认是支持kernel debug的,别关闭了就是了
3、模拟一个panic,做一个crash,系统会自动转储,然后重启的,命令:echo c > /proc/sysrq-trigger
4、重启后,执行:crash /var/crash/127.0.0.1-2013-03-04-23\:06\:39/vmcore /my_kernel/linux-2.6.34/vmlinux,其中 /var/crash/127.0.0.1-2013-03-04-23\:06\:39/vmcore是转储文件,而我自己做的内核的vmlinux文件,用于调试。



附录:/proc/sysrq-trigger的特殊作用:

/proc/sysrq-trigger该文件能做些什么事情呢? 

# 立即重新启动计算机 (Reboots the kernel without first unmounting file systems or syncing disks attached to the system)
echo "b" > /proc/sysrq-trigger 

# 立即关闭计算机(shuts off the system)
echo "o" > /proc/sysrq-trigger

# 导出内存分配的信息 (可以用/var/log/message 查看)(Outputs memory statistics to the console) 
echo "m" > /proc/sysrq-trigger 

# 导出当前CPU寄存器信息和标志位的信息(Outputs all flags and registers to the console)
echo "p" > /proc/sysrq-trigger 

# 导出线程状态信息 (Outputs a list of processes to the console)
echo "t" > /proc/sysrq-trigger

# 故意让系统崩溃 ( Crashes the system without first unmounting file systems or syncing disks attached to the system)
echo "c" > /proc/sysrq-trigger


# 立即重新挂载所有的文件系统 (Attempts to sync disks attached to the system)
echo "s" > /proc/sysrq-trigger 

# 立即重新挂载所有的文件系统为只读 (Attempts to unmount and remount all file systems as read-only)
echo "u" > /proc/sysrq-trigger
 
#启动kgdb调试 
echo g > /proc/sysrq-trigger

呵呵,此外还有两个,类似于强制注销的功能
e — Kills all processes except init using SIGTERM
i — Kills all processes except init using SIGKILL