Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1907188
  • 博文数量: 211
  • 博客积分: 464
  • 博客等级: 下士
  • 技术积分: 3794
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-24 18:25
个人简介

阿弥陀佛

文章分类

全部博文(211)

文章存档

2020年(2)

2019年(3)

2018年(5)

2017年(6)

2016年(10)

2015年(9)

2014年(73)

2013年(90)

2012年(13)

分类: 服务器与存储

2013-06-14 11:09:18

使用kern.log 日志文件来调试内核,应用的场景真的非常的少,而且如果printk语句打印过多就会容易发生死机。
另外还有两种方法可以调试内核,第一通过kdump方法,第二种方法是使用sysrq。

首先介绍sysrq,在2.1.x系列,就已经有sysrq了。所以他的历史还是比较久远,而且比较稳定。
第一步,看看内核是否支持sysrq。

点击(此处)折叠或打开

  1. $grep “ CONFIG_MAGIC_SYSRQ ” /boot/config-`uname – r` 
  2. CONFIG_MAGIC_SYSRQ=y
第二步,如果支持,下一步打开sysrq开关:
sysctl -w kernel.sysrq = 1
如果想开机自己启动这个开关,可以修改/etc/sysctl.conf 
加入 
kernel.sysrq = 1

第三步,开始测试一下sysrq的效果。
sysrq的使用时组合键,使用方法是ALT+SysRq + .
command key:

M - 打印内存使用信息
T - 打印当前的task的栈的信息
W - 打印 CPU 信息
C - 触发 Crashdump,这个命令可以让系统死机陷入一个空指针的bug当中,这个是sysrq故意营造的bug来测试crashdump。
P - 打印当前 CPU 寄存器信息


下次将讲解kdump的使用方法。

阅读(3002) | 评论(0) | 转发(13) |
给主人留下些什么吧!~~