Chinaunix首页 | 论坛 | 博客
  • 博客访问: 690823
  • 博文数量: 192
  • 博客积分: 1875
  • 博客等级: 上尉
  • 技术积分: 2177
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-23 23:21
个人简介

有时候,就是想窥视一下不知道的东东,因为好奇!

文章分类

全部博文(192)

文章存档

2024年(8)

2023年(3)

2019年(1)

2018年(1)

2017年(2)

2016年(69)

2015年(53)

2014年(14)

2013年(1)

2012年(5)

2011年(25)

2010年(9)

分类: LINUX

2016-06-16 23:41:23

内核资料收集

    1. linux内核死机现象
        a. MCE(memory check exception)
            系统硬件出现异常
            
        b. Panic
            出现严重故障时,会产生Panic。
        c. Oops
            可以看作是内核级的segment fault。多是因为使用了错误地址。
        d. NMI_Watchdog
            系统发生死锁时会触发NMI_Watchdog
        e. 其它
   2. 故障
        a. 两种严重问题crash和hang
            crash:内核发现自己出故障时,会在停止或重启之前能做一些处理
            hang:内核出现未发现的严重死锁,内核没能力做任何事
                    因为没能力向磁盘或屏幕输出信息,用户可能看不能任何信息
        b. 内存耗尽
            内存耗尽,杀死进程
        c. 文件系统只读
   3. 信息收集
        a. 系统日志(syslog)
            通常保存在/var/log/messages(或/var/log/目录下的其它文件)
        b. dmesg
            打印内核缓冲区信息
        c. 网络信息(netstat)
        d. 其它
    4. 串口信息获取
        操作系统运行过程中,可以设置将串口信息转发到串口,当出现异常情况时,通过串口可以捕获系统输出的错误信息
        /boot/grub/menu.lst
        serial --unit=0 --speed=115200
        terminal --timeout=15 serial console
 
        hiddenmenu
 
        title Red Hat Enterprise Linux AS (2.6.9-TEST)
        root (hd1,0)
        kernel /boot/vmlinuz-2.6.9-TEST ro root=LABEL=/1 rhgb console=tty0 console=ttyS0,115200n8


        /etc/inittab
        co:2345:respawn:/sbin/agetty -L 115200 ttyS0 ansi
    5. 网络终端获取信息
        Netconsole (netconsole.c) 的主要功能,是试图通过直接调用网卡驱动接口的方式来发送一些消息到远程的udp服务器。
        信息包括:printk buffer当中能够被console链表输出的信息,即能够通过tty终端和ttyS串口输出的信息。 

        实际应用中,Netconsole被用来把终端的重要信息重定向到网络服务器上,以方案可实现远程监控的功能,包括死机时打印的panic等信息。
    6. 魔术键
        sysrq 魔术键是一种组合键,除非内核被完全锁住,否则在任何情况下内核都会对它都会做出反应。
        通过魔术键可以取得系统的CPU,内存,堆栈等信息,还可以结合LKCD触发生成DUMP,为操作系统的定位提供依据。

        魔术键的组合型式为:alt-Sysrq-<相应命令键>
    
        魔术键功能的详细说明请参见:linux/Documentation/sysrq.txt
    7. LKCD(Linux Kernel Crash Dump)
        a. 内核发生Panic时,会将当前系统状态信息(主要是内存)写入事先指定的转贮设备
        b. 根据转贮设备的不同,LKCD可以分为disk dump和net dump。
            对于disk dump,这个转贮设备必须是个独立分区,通常可以设置为系统交换区。
            在系统panic时用来存入状态信息,在下次重启时(在存储交换功能开启之前)系统会运行一个称为 LCRASH 的工具来生成崩溃的概要记录,并可选择地把转储的复本保存在一个普通文件中。 
    
阅读(665) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~