文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Kdump & Crash 学习笔记(四)

Kdump & Crash 学习笔记(四)

时间:2010-09-16  来源:ChaoYe89

四:设置Kdump     上次说过了Kdump配置Dump Target,这次来说说Kdump其他的配置选项: #path /var/crash #core_collector makedumpfile -c #link_delay 60 #kdump_post /var/crash/scripts/kdump-post.sh #extra_bins /usr/bin/lftp #disk_timeout 30 #extra_modules gfs2 #default shell     1) path /var/crash这个在上次已经说过了,就不再赘述了。重点需要讲一下的是core_collector这个选项!core_collector这个选项非常有用,下面就详细说一下core_collector:     2) core_collector是用来指定内核收集的,例子里采用的是makedumpfile作为收集器。查找一下系统,发现makedumpfile位于这个位置: [root@Derek-Laptop derek]# whereis makedumpfile makedumpfile: /sbin/makedumpfile     makedumpfile有很多选项,简要列了一下:     -c: Compress dump data by each page.     -d: Specify the type of unnecessary page for analysis. Dump  |  zero   cache   cache    user    free   Level |  page   page    private  data    page   -------+---------------------------------------       0  |       1  |  X       2  |         X       4  |         X       X       8  |                          X     16  |                                  X     31  |  X      X       X        X       X     --message-level: Specify the message types. Message | progress    common    error     debug     report    Level   | indicator   message   message   message   message    ---------+------------------------------------------------------           0 |           1 |     X           2 |                X           4 |                          X        * 7 |     X          X         X           8 |                                    X         16 |                                              X         31 |     X          X         X         X         X     需要注意的是-d选项,这在拥有巨大内存的机器上非常有用。例如SGI的UV,几个TB的内存全部Dump的话,非常低效。这个时候,加上-d 31,也就是Kdump在makedumpfile的时候,过滤掉zero page, cache page, cache private, user data, free page。这会大大加速Dump的速度,生成更小的vmcore。如果不需要全部过滤,那也可以通过指定其他的级别,最大为31,最小为0,也就是不做过滤。     还有就是--message-level的选项,如果熟悉Kernel的Message Level的话,这个应该不难理解。如果不了解的话,也没有关系,因为这个选项在我使用Kdump的时候,并不常常用到。可能是水平不够^_^     我在学习的过程中,最常用的就是: core_collector makedumpfile -c -d 31     3) link_delay 60这个选项一般与网络Dump相关,因为有些情况下,网络建立有一定的延迟,比如说DNS、IP、Gate等等情况下有延迟。所以设定60秒的延迟,在Kdump内核启动后,会等待60秒,等待网络的建立,再生成vmcore,通过NFS、SCP来传输vmcore。     4) kdump_post /var/crash/scripts/kdump-post.sh这个可以用来在Dump vmcore完毕后执行一个脚本。用户可以自定义需要执行的动作。     5) extra_bins /usr/bin/lftp这个可以用来把额外的bin包含到Kdump Kernel中。说到这个就必须要说一下BusyBox了。Busybox把很多UNIX的工具都集成到了一个很小的可执行的文件中,而实际上,在Kdump Kernel提供的Shell环境中的所有命令都是由Busybox提供的。关于Busybox,东西实在很多,有机会慢慢说。     所以,这一行实际上的操作是把指定外的可执行文件包含到了Kdump Kernel之中。这样就能在Kdump Kernel之中使用很多你需要的程序了,比如lftp!     6) disk_timeout 30这个没有用过,所以不好乱说     7) extra_modules gfs2这个也是非常有意思的东西,可以把你需要的额外的内核模块包含进来。关于这个,我会再写一篇文章详细说明的。     8) default shell这个是用来指定默认操作的。比如说,我使用了如下的配置: core_collector makedumpfile --error     很明显,makedumpfile没有--error这个参数选项。这会导致makedumpfile失败,Kdump Kernel在遇到这种情况的时候,就会根据default的选项,做相应的操作。这里设置的是shell,那么Kdump Kernel就会Drop到Shell去。你可以查看网络情况,使用Busybox提供的一些命令。     default这个配置,除了shell之外,还可以设置为:reboot和halt。     这就是大概的kdump的配置了,说的不是很细致。贴一个我自己使用的Kdump.conf [root@Derek-Laptop derek]# tail /etc/kdump.conf #kdump_post /var/crash/scripts/kdump-post.sh #extra_bins /usr/bin/lftp #disk_timeout 30 #extra_modules gfs2 #default shell
ext4 UUID=2c560b75-fc2b-4346-a669-6403e954498a path /var/kdump core_collector makedumpfile -c -d 31 default shell
Tips: 如往常一样,一些文档提供: 1) Busybox 的项目主页 2) man kdump.conf 3) /sbin/makedumpfile --help 4) man mkdumprd
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载