免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: platinum
打印 上一主题 下一主题

[已解决]有什么好的办法可以保存 kernel panic 信息? [复制链接]

论坛徽章:
0
41 [报告]
发表于 2010-06-01 11:19 |只看该作者
内核中可以使用filp_open打开文件,进一步调用其write操作即可。但是要明确如果实在底半的话,会不会有负 ...
Godbach 发表于 2010-06-01 11:17

实验证明,在 die 函数中调用 flip_open 会导致 panic 嵌套
我想研究一下看 netconsole 是如何发送数据的,看把代码嵌到 send packet 位置看看……

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
42 [报告]
发表于 2010-06-01 11:24 |只看该作者
实验证明,在 die 函数中调用 flip_open 会导致 panic 嵌套
我想研究一下看 netconsole 是如何发送数据的 ...
platinum 发表于 2010-06-01 11:19

kernel thread的那种方式,白金兄不准备试一下么。

论坛徽章:
0
43 [报告]
发表于 2010-06-01 11:37 |只看该作者
试过了,一样的,包括 kthread_create 也试过了,出错的位置更提前了,在派生线程时就 panic

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
44 [报告]
发表于 2010-06-01 11:48 |只看该作者
试过了,一样的,包括 kthread_create 也试过了,出错的位置更提前了,在派生线程时就 panic
platinum 发表于 2010-06-01 11:37

是怎么实现的。生成一个线程之后,是调用wait_event_interruptible等待某个事件的发生吗

论坛徽章:
0
45 [报告]
发表于 2010-06-01 11:50 |只看该作者
本帖最后由 Arthur_ 于 2010-06-01 11:52 编辑
有掉电保护指的是什么?
目前 kexec 可以实现 OOPS 后载入 dump-capture 内核,将 /proc/vmcore 的内存  ...
platinum 发表于 2010-06-01 11:14



   

悲剧.!!!!!!!!!

下载crash-5.0.3/

运行crash vmlinux vmcore

执行where

具体方法参考:
http://people.redhat.com/~anderson/crash_whitepaper/

要是在搞不定, 我就....

论坛徽章:
0
46 [报告]
发表于 2010-06-01 11:51 |只看该作者
往往 kernel panic 后,信息无法记录到 syslog 中,甚至连 keyboard 也无效了
虽然可以通过 netconsole 将 ...
platinum 发表于 2010-05-31 09:30



不大理解你的需求,难道Linux内核crash的时候不把这些信息保存在生成core文件里吗?

论坛徽章:
0
47 [报告]
发表于 2010-06-01 11:57 |只看该作者
不大理解你的需求,难道Linux内核crash的时候不把这些信息保存在生成core文件里吗?
Solaris12 发表于 2010-06-01 11:51

我的直接需求就是:当 OOPS 时,能把显示在屏幕上的信息保存下来,我只需要这些提示信息即可,不用整个 vmcore
默认 Linux 是不会将 panic 后的数据 dump 出来的,但借助 kexec,当 OOPS 时,临时软启动一个 dump-capture 内核来实现抓取 /dev/oldmem 或 /proc/vmcore 导出原有信息

但是遇到几个问题:
1、太大了,如果内存很大,这个文件也非常大,上 GB;
2、我不需要那些环境,只需要提示到屏幕上的信息即可,这样太大动干戈了

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
48 [报告]
发表于 2010-06-01 11:58 |只看该作者
不大理解你的需求,难道Linux内核crash的时候不把这些信息保存在生成core文件里吗?
Solaris12 发表于 2010-06-01 11:51

比如有些设备,用的是CF卡,导致系统重启的oops信息并不会被自动保存的。

论坛徽章:
0
49 [报告]
发表于 2010-06-01 11:59 |只看该作者
是怎么实现的。生成一个线程之后,是调用wait_event_interruptible等待某个事件的发生吗
Godbach 发表于 2010-06-01 11:48

可能是我的问题,我可能没正确使用 kthread_create
但是我有一个不明白,直接运行有问题,派生线程就没事了吗?
这个和程序线性、并行运行有什么关系吗?

论坛徽章:
0
50 [报告]
发表于 2010-06-01 12:01 |只看该作者
悲剧.!!!!!!!!!

下载crash-5.0.3/

运行crash vmlinux vmcore

执行where

具体方法 ...
Arthur_ 发表于 2010-06-01 11:50

大哥,那个 vmcore 太大了,内存越大 vmcore 越大
我需要的仅仅是 printk 到屏幕的信息,这个……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP