freebsd下保存内核崩溃时的信息

 虽然unxi系统是非常稳定的,但是如果系统性能有瓶颈,还是有可能造成系统崩溃的。比如说,并发用户过多,造成cpu或内存负载无法承受,或者磁盘读写太频繁,造成磁盘无法承受,或者有内存泄漏程序。

一般,系统崩溃时的信息是不会保存下来的,所以无法追究其原由。

上网查了些资料,发现freebsd下有一种办法,可以把系统崩溃时的内存信息完全保留下来。这样可以通过对这些信息的研究来推断造成系统崩溃的原由,进一步对系统进行优化。

配置,在/etc/rc.conf中添加如下行:

dumpdev=/dev/hda5

dumpdir=/var/crash

其中,dumpdev指定交换分区的位置;dumpdir指定要把信息保存到哪个目录。

工作过程:

系统崩溃时,内核把内存内容保存到交换分区(swap)。因为swap在正常启动时,里面的内容会自动清空。所以这个位置不能长久保存崩溃信息。

当系统再一次正常启动时,会把内河崩溃信息拷贝到/var/crash目录。这样就把崩溃信息完全保留下来了。

注意:1.如果经常崩溃,/var/crash会占用很大空间,可以把不需要的信息删掉;崩溃信息的保存文件名是有规律的,vmcorex,其中,最新的信息保存在x最大的那个文件中。

2.如果系统崩溃后,无法正常启动,也有手动把swap中的信息拷贝出来。

首先启动一个系统,挂载/swap;使用savecore命令手动拷贝崩溃信息。比如savecore /var/crash /dev/hda5,就是把/dev/hda5交换分区中的内容拷贝到/var/crash中。

补充:研究solaris资料时发现,solaris也有类似的实现方法,他作的更简单,只要建立/var/crash目录,同时在启动时加载/etc/init.d/sysetup进程,如果系统崩溃,就是记录信息。并且,sun还提供一些工具帮助分析信息。在sun的网站上能下载这些脚本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值