参考:Linux kernel buffer ring

Linux dmesg Command Tutorial for Beginners (5 Examples)

7 ‘dmesg’ Commands for Troubleshooting and Collecting Information of Linux Systems

前言

Linux启动是个复杂的流程,BIOS->MBR->boot loader。。。

boot loader阶段有Kernel以及initrd,Kernel通过initrd加载到bootable device的驱动后正式接管根目录文件系统,然后加载各种驱动,准备OS下程序运行环境等等。boot loader详细工作如下图。

Kernel做了这么多事情,有什么办法观察内核所作的工作吗?  dmesg可以。

使用

无参数

无参数使用dmesg时,会把内核buffer ring中的所有日志全部显示出来,直接看比较麻烦。我在自己的环境上测试,有1700多条日志

[root@localhost etc]# dmesg | wc -l

通过日志等级缩小dmesg输出

这个是参考国外博客的,但是现在dmesg不允许这么用了

日志等级从低到高

info - 一些基本的信息说明

notice - 比 info 稍稍重要些

warn - 警示的信息,可能有问题,但是还不至于影响到某个 daemon 运行。基本上, info, notice, warn 这三个等级都是在通知一些基本信息,还不至于对系统运行造成影响

err - 一些重大的错误信息,例如配置档的某些配置值造成该服务服法启动, 通常通过 err 的错误告知

crit - 错误临界点

alert - 警告,问题很严重,必须立即采取行动

emerg - 系统已经几乎要死机的状态,大概只有硬件出问题,导致整个核心无法顺利运行,才会出现这样的情况

-c Clear the ring buffer contents after printing.

-r Print the raw message buffer, i.e., don’t strip the log level prefixes.

-s bufsize

Use a buffer of size bufsize to query the kernel ring buffer. This is 16392 by default. (The default kernel syslog buffer size was 4096 at first,
8192 since 1.3.54, 16384 since 2.1.113.) If you have set the kernel buffer to be larger than the default then this option can be used to view the
entire buffer.

-n level

Set the level at which logging of messages is done to the console. For example, -n 1 prevents all messages, except panic messages, from appearing on
the console. All levels of messages are still written to /proc/kmsg, so syslogd(8) can still be used to control exactly where kernel messages appear.
When the -n option is used, dmesg will not print or clear the kernel ring buffer.

When both options are used, only the last option on the command line will have an effect.

Linux命令——dmesg的更多相关文章

  1. linux命令dmesg查看进程被杀死原因

    有一次一个python进程挂了,使用了下这个命令. 可以看到原因:虚拟机总共内存8082608KB,结果python项目就消耗掉了7341764KB,内存泄露,导致python进程被系统杀死 顺带介绍 ...

  2. Linux命令 dmesg:分析内核产生的信息

    案例一 输出所有的内核开机时的信息 zh@zh:~$dmesg | more 案例二 查找开机的时候硬盘的相关信息

  3. 【linux】dmesg命令显示开机信息和设备加载情况

    Linux命令dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中.您若是开机时来不及查看信息,可利用dmesg来查看.开机信息亦保存在/var/log目录中,名称为dm ...

  4. (转)Linux 系统设置 : dmesg 命令详解

    原文:https://blog.csdn.net/yexiangCSDN/article/details/80683246 https://www.cnblogs.com/duanxz/p/34770 ...

  5. Linux下dmesg命令处理故障和收集系统信息的7种用法

    目录: <syslog之一:Linux syslog日志系统详解> <syslog之二:syslog协议及rsyslog服务全解析> <syslog之三:建立Window ...

  6. Linux命令整理中...

    Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...

  7. LINUX命令总结 -------来自 水滴娃娃 的CSDN

    LINUX命令总结 标签: LINUX命令总结 2014-01-27 15:54 41039人阅读 评论(1) 收藏 举报  分类: linux(1)  版权声明:本文为博主原创文章,未经博主允许不得 ...

  8. [Android ] linux命令英文缩写的含义(方便记忆)

    du -sh */ reference to : http://blog.chinaunix.net/uid-27164517-id-3299073.html linux常用命令的英文单词缩写 命令缩 ...

  9. 开发过程中常用的Linux命令

    做Java开发好几年了,部署JavaWeb到服务器上,一般都选择Linux,Linux作为服务器真是不二之选,高性能,只要熟悉Linux,操作快捷,效率很高. 总结一下工作中常用的Linux命令备忘: ...

随机推荐

  1. CentOS7.4安装ipython

    摘自:https://www.jianshu.com/p/aa93a0341c82 使用pip3安装ipython及其依赖包:pip3 install ipython在 .bashrc文件中添加环境变 ...

  2. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器前端源码重构(六)- webpack-dev-server 自适应支持手机端访问

    关于EasyDSS EasyDSS商用流媒体服务器解决方案是一套集流媒体点播.转码与管理.直播.录像.检索.时移回看于一体的一套完整的商用流媒体服务器解决方案,EasyDSS高性能RTMP流媒体服务器 ...

  3. [转]windows 下 gcc/g++ 的安装

    链接地址:https://www.jianshu.com/p/ff24a81f3637 不过下载地址直接进这里就可以了:https://sourceforge.net/projects/mingw/

  4. [LeetCode] 258. Add Digits 加数字

    Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...

  5. consul ACL 配置范例

    service "dashboard" { policy = "write" } service "dashboard-sidecar-proxy&q ...

  6. Quartus ii 设计中的差分信号在例化时的命名规则

    在Quartus中做设计,如果使用了差分信号的,如DDR的IP中的mem_ck与mem_ck_n,mem_dqs与mem_dqs_n,将其引入输出端口时,对其命名有一定的规则,否则就会出现错误. 如下 ...

  7. python实践项目十:zipfile模块-将一个文件夹备份到一个 ZIP 文件

    描述:将指定路径下的某文件夹备份到一个zip文件 代码: #!/usr/bin/python # -*- coding: UTF-8 -*- # backupToZip - Copies an ent ...

  8. sftp服务器的搭建

    ## 搭建前言:   主机系统:centos7   由于sftp基于ssh协议,所以我们无需安装多余的包,只需要进行相应的配置即可.   ## 搭建过程:   1. 创建用户.用户组,设置目录权限等( ...

  9. 设置Kafka集群的方法

    1.目标 今天,在这篇Kafka文章中,我们将看到Kafka Cluster Setup.这个Kafka集群教程为我们提供了一些设置Kafka集群的简单步骤.简而言之,为了实现Kafka服务的高可用性 ...

  10. python大道——博客目录

      python基础 第一章 计算机基础 计算机基础 第二章 python基础语法 python入门 第三章 基础数据类型和文件操作 整型.布尔.字符串 列表.字典.集合 公共功能.小数据池 hash ...