介绍
dmesg 是一个显示内核缓冲区系统控制信息的工具,Dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。dmesg用于检测和控制内核环缓冲,程序用来帮助用户了解系统的启动信息。
命令
语法:dmesg [-cn][-s <缓冲区大小>]
参数:
-c 显示信息後,清除ring buffer中的内容。
-s<缓冲区大小> 预设置为8196,刚好等于ringbuffer的大小。
-n 设置记录信息的层级。
注:以上了解即可。
查看开机信息
1. 使用USB连接移动终端。
2. 打开cmd窗口,输入adb shell 进入shell命令行。
3. 输入dmesg显示开机启动信息。
4. Dmesg打印信息。
保存打印信息
1. 使用USB连接移动终端。
2. 打开cmd,并输入adb shell dmesg > d:\xxx.txt
3. 到本地磁盘D盘根目录查找保存的txt文本。
详细信息
例:<6>[0.071649][(1970-01-01 00:00:00.080000002 UTC)]Initializing cgroup subsys memory
<6>:单条打印信息的日志输出级别。
[0.071649][(1970-01-0100:00:00.080000002 UTC)]:启动系统后对应时间打印信息。
Initializing cgroupsubsys memory:日志具体的打印提示信息。
优先级定义
内核中共提供了八种不同的日志级别,在系统中有相应的宏对应。
#defineKERN_EMERG "<0>" /* system is unusable */
#defineKERN_ALERT "<1>" /* action must be taken immediately */
#defineKERN_CRIT "<2>" /* critical conditions */
#defineKERN_ERR "<3>" /* error conditions */
#defineKERN_WARNING "<4>" /* warning conditions */
#defineKERN_NOTICE "<5>" /* normal but significant */
#defineKERN_INFO "<6>" /* informational */
#defineKERN_DEBUG "<7>" /* debug-level messages */
注:对于移动终端来说,0-3是不应该出现,4-7则影响不大,由于这些优先级是可由开发自定义的,有时开发人员会为了自己测试方便,将本属于4-7级别的打印信息提高到0-3,因此dmesg的打印信息仅供参考。