相关文章

Android 7.1使用脚本保存LOGCAT和KMSG日志到文件

首先,在kernel里面通过printk吐log的时候会是下面的一个过程:

  1. printk会将信息格式化到kernel log buffer里面去。

  2. 然后将这些格式化信息送到console去,在我们的系统里面有两个console,一个是uart console,一个是ram console。uart console里面的内容呢就是我们看到的uart log了。

#那ram console是如何工作的呢?

  1. RAM Console是位于Internal SRAM上面的一个小的buffer。

  2. 结合上图与下图我们可以知道,系统运行的时候kernel log将不会被记录在RAM Console里面。

  3. 一旦发生了重启,log将会停止记录到RAM console,直到RAM Console再次初始化好。

  4. 在RAM Console初始化的时候会将buffer里面原有的数据做备份,拷贝到另外一个buffer,这个buffer的数据我们可以通过/proc/last_kmsg来访问。

#那结论是什么呢?

  1. RAM Console是一种log机制,它可以记录重启前最后时刻的一段log,来说明系统最后做了哪些事情。

  2. 只要是重启,不管是异常重启还是通过adb reboot,或者通过菜单重启,都会有last_kmsg,这是一种log机制,与exception机制没有直接联系。

#但是这里面也有一些限制:

  1. 由于重启之后DRAM数据会丢失,所以只能将RAM Console放到Internal SRAM。

  2. 但是由于Internal SRAM空间有限,只能划分出7KB~9KB的空间给RAM Console使用,所以能够记录的log是很短的。

推荐阅读:

专辑|Linux文章汇总

专辑|程序人生

专辑|C语言

嵌入式Linux

微信扫描二维码,关注我的公众号 

last_kmsg和ram console相关推荐

  1. Linux kernel log与调试

    一.内核日志基本框架 1.内核日志通过printk函数实现的,它与用户空间对应的函数printf具有同样的作用, 内核会创建一个__log_buf环形缓冲区保存日志信息,定义在[kernel/prin ...

  2. Linux基础知识(3)---查看linux系统重启之前的log -- last_kmsg

    查看linux系统重启之前的log -- last_kmsg 当 Linux Kernel 出现 BUG 的时候,后走入 panic flow,这个时候由于 Kernel 出现了严重的问题,adbd ...

  3. 阿里云RAM访问控制

    版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl RAM概述 访问控制 RAM(Resource Access Management)是阿里云为 ...

  4. Linux 内核console设备实现详解

    本文基于Linux-4.14 1.earlycon early console,顾名思义,他表示的就是早期的console设备,主要用于在系统启动阶段的内核打印的输出,由于linux内核实际设备驱动模 ...

  5. 自动创建阿里云抢占式实例

    旧博文,搬到 csdn 原文:http://rebootcat.com/2020/08/24/auto_run_aliyun_spot/ aliyun_spot 自动创建阿里云抢占式实例. 支持一下作 ...

  6. EDAS ScheduleX 问题

    浅谈 ScheduleX 简称分布式任务调度,简单的可以理解为就是一个分布式的计划任务,多台机器安装了 ScheduleX 的客户端后,用户可以在 控制台进行统计的任务调度和分配处理. schedul ...

  7. 【深度学习入门到精通系列】阿里云人工智能平台的使用方法

    文章目录 1 概述 2 获取密钥方法 3 Python SDK 4 demo 1 概述 接口易用 标准化接口封装,大大降低研发人力投入 稳定可靠 服务可靠性99.99%:全球多机房部署,服务全球化:单 ...

  8. python做电脑软件-PC端数据下载软件开发(Python)

    存储工具:阿里云->对象存储 需要将数据从云端下载到本地后再进行后续分析处理. 手动下载 需要下载的文件不多时,可以用这个方式. 依次点击:阿里云->控制台->对象存储->Bu ...

  9. python 断点重传_性能调优-python SDK 调优

    python SDK python 和 java 或者和 GO ,在性能上来说都不是最好的,而且 python 无法支持多核的并发,只能跑在单核上的多线程.但是 oss 也提供了相应的方法提高多线程的 ...

最新文章

  1. rtmp 封包及消息
  2. 网络安全系列之二十一 配置IPSEC安全策略
  3. office在线编辑器
  4. 【opencv】【mediapipe】手势检测的有趣玩法
  5. python aiompq集群_国内首款基于AIO(异步IO)支持集群的高性能开源WebSocket服务器 宝贝鱼 CshBBrain V4.0 发布...
  6. UVA - 10603 Fill(隐式图搜索)
  7. avg最多用多少列 mysql_40斤一桶水,最多用多少克磷酸二氢钾?打几次增产效果最好...
  8. sftp日志文件定时下载到本地文件 python 3
  9. 计算机版音乐教学,EduOffice音乐教学备课软件
  10. Chrome 添加印象笔记网页剪辑插件
  11. 性能工具之 Locust 工具关联与参数化
  12. 2020年11月最新互联网大厂面试经验分享【网易、阿里、腾讯、京东、百度、爱奇艺、字节、小米、美团、搜狐、58】
  13. linux gbk 语言包安装,linux 安装gbk字符集
  14. halo_Halo 3评论
  15. 使用PPT画图:浅尝辄止
  16. seo每天的日常工作内容是哪些?
  17. linux获取时间,精确到微秒usec
  18. [4G/5G/6G专题基础-154]: 5G无线准入控制RAC(Radio Admission Control)+ 其他准入控制
  19. python学习——构建前端
  20. cas入门之十九:https形式发布cas证书制作

热门文章

  1. 〖Linux〗Kubuntu设置打开应用时就只在打开时的工作区显示
  2. 防止arp***方法
  3. ×××linux下vsftp服务器
  4. 焦头烂额一个上午还是搞不定,跪地相求大家,朋友帮忙啊。。。
  5. Django项目--登录判断装饰器
  6. 读中文_挑战来了!康辉喊你读中文十级绕口令!
  7. 普通人学python有意义吗_学python难吗
  8. Machine Learning(Stanford)| 斯坦福大学机(吴恩达)器学习笔记【汇总】
  9. 计算机工作原理 公开课,《计算机的基本工作原理》公开课材料(11页)-原创力文档...
  10. linux头文件 库,Linux操作系统的头文件和库文件搜索路径