ramoops&pstore简要说明

1. pstore

pstore是persistent storage的缩写。内核发生异常时如果能将日志等信息保存下来不丢失,那么就可以通过这些信息来定位问题。不同的平台可以提供的存储位置不同,例如有些平台支持硬盘,有些不支持。除了平台差异,异常类型也决定了在发生异常时该存储位置是否还可用。

pstore的目标是提供一套通用的接口用来存储异常信息。pstore以文件系统的形式提供用户空间接口,可以通过mount命令挂载到指定目录下边,如xxx\pstore,那么保存的信息将以文件的形式出现在该目录下,可以使用文件读操作获取调试信息,通过删除操作清除调试信息。

在内核中使用pstore前需要首先初始化一个pstore_info类型的结构体变量,然后调用int pstore_register(struct pstore_info *)注册。

pstore_info结构体中有些变量可以不需要赋值,但是读写,删除用到的函数指针需要赋值。

pstore在内核中的开关是CONFIG_PSTORE,在2.6.39版本中第一次合入主线,3.10.40中的ramoops使用的就是pstore机制。pstore提供的是一套可扩展的机制,目前提供的类型包括以下四种:

PSTORE_TYPE_DMESG表示内核日志,PSTORE_TYPE_MCE表示硬件错误,PSTORE_TYPE_CONSOLE表示控制台输出,PSTORE_TYPE_FTRACE表示函数调用序列。

2. ramoops

ramoops指的是采用ram保存oops信息的一个功能,这个功能最开始不是基于pstore实现的,在3.10.40中,它已经采用pstore机制实现了,在内核开关中用3个开关控制:PSTORE_CONSOLE控制是否保存控制

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值