使用 dmesg 工具诊断Linux系统问题基本用法案例

dmesgDiagnosticMessage)是 Linux 中显示内核环形缓冲区(ring buffer)内容的强大工具。以下是详细解析:

一、dmesg 基础

作用

  • 显示内核启动信息
  • 查看硬件设备检测和驱动加载信息
  • 追踪内核级错误和警告
  • 诊断系统问题和性能事件

基本用法

# 查看所有内核消息dmesg# 显示人性化时间戳(需要 sudo 权限查看正确时间)dmesg-T# 或 dmesg --ctime# 按时间格式显示dmesg-t# 只显示消息,无时间戳dmesg--time-format ctime# 人类可读时间dmesg--time-format delta# 相对时间差dmesg--time-format iso# ISO 8601 格式

二、关键信息分类解析

1. 系统启动信息

dmesg|grep-i"boot\|initial"

典型信息:

  • Linux version ...- 内核版本
  • Command line: ...- 内核启动参数
  • Boot ...- 引导信息
  • Memory: ...- 内存检测

2. 硬件检测信息

# CPU 信息dmesg|grep-i"cpu\|processor"# 内存信息dmesg|grep-i"memory\|mem"# 存储设备dmesg|grep-i"disk\|sda\|nvme\|usb"# PCI 设备dmesg|grep-i"pci"# USB 设备dmesg|grep-i"usb"

3. 驱动加载信息

# 网络驱动dmesg|grep-i"eth\|network\|driver.*loaded"# 显卡驱动dmesg|grep-i"drm\|gpu\|radeon\|nvidia\|intel"# 文件系统dmesg|grep-i"filesystem\|ext4\|xfs\|btrfs"

4. 错误和警告信息

# 错误级别筛选dmesg--level=err,warn# 查看所有错误dmesg|grep-E"error|fail|invalid|unsupported"# 查看警告dmesg|grep-E"warning|deprecated"

dmesg 日志级别:

  • emerg(0) - 系统不可用
  • alert(1) - 必须立即处理
  • crit(2) - 严重情况
  • err(3) - 错误条件
  • warn(4) - 警告条件
  • notice(5) - 正常但重要
  • info(6) - 信息性消息
  • debug(7) - 调试级消息

三、实用命令组合

实时监控

# 实时查看新内核消息watch-n1"dmesg | tail -20"# 监控特定设备dmesg-w|grep-i"usb\|sda"

时间范围查询

# 查看最近5分钟的消息dmesg--since"5 minutes ago"# 查看特定时间段dmesg--since"2024-01-15 10:00:00"--until"2024-01-15 11:00:00"# 查看从上次重启以来的消息dmesg-T --since=$(uptime-s)

过滤和格式化

# 按设备/驱动过滤dmesg|grep-E"\[sd[a-z]\]|\[nvme\]"# 查看最近100条消息dmesg|tail-100# 查看并分页显示dmesg|less# 彩色输出(需要ccze)dmesg|ccze -A

四、dmesg 高级应用

1. OOM(内存不足)分析

# 查看所有OOM事件dmesg|grep-i"oom\|out.of.memory"# 查看被kill的进程dmesg|grep-i"killed.process"# 查看详细内存信息dmesg|grep-A5 -B5"Out of memory"

2. 硬件故障诊断

# 硬盘错误dmesg|grep-i"disk\|sector\|io.error\|smart"# 内存错误dmesg|grep-i"mem.*error\|ecc\|mce"# CPU 错误dmesg|grep-i"cpu.*error\|mce\|thermal"# 网络问题dmesg|grep-i"network\|link\|eth.*down"

3. 性能问题排查

# IRQ 冲突dmesg|grep-i"irq.*conflict"# DMA 问题dmesg|grep-i"dma"# 时钟同步dmesg|grep-i"clock\|tsc"

五、dmesg 配置和管理

缓冲区设置

# 查看缓冲区大小cat/proc/sys/kernel/dmesg_restrictcat/proc/sys/kernel/printk# 调整缓冲区(临时)sudosysctl -w kernel.dmesg_restrict=0sudosysctl -w kernel.printk="4 4 1 7"# 清除缓冲区(谨慎使用)sudodmesg-C

永久日志保存

# 保存当前dmesg到文件dmesg>/var/log/dmesg.log# 保存带时间戳的版本dmesg-T>/var/log/dmesg_timestamped.log# 系统启动时自动保存# 查看服务:systemctl status dmesg.servicels-la /var/log/dmesg*

六、journalctl 替代方案

systemd 系统可以使用journalctl查看内核日志:

# 查看内核日志journalctl -k# 实时查看journalctl -k -f# 按时间过滤journalctl -k --since"1 hour ago"# 按优先级journalctl -k -p err

七、实用示例

案例1:诊断USB设备问题

# 插入USB设备后查看日志dmesg|tail-20# 查看USB设备详细信息dmesg|grep-A10 -B5"usb.*new"

案例2:诊断网络中断

# 查看网络驱动加载和中断dmesg|grep-i"eth0\|interrupt\|link"

案例3:系统启动缓慢分析

# 查看启动时间线dmesg|grep-E"\[.*s\]"|head-30

八、注意事项

  1. 权限要求:某些选项需要 root 权限
  2. 环形缓冲区:旧消息会被新消息覆盖
  3. 时间戳:默认显示相对时间,-T选项转换为本地时间
  4. 非持久化:重启后缓冲区会被清空(除非配置保存)

dmesg是系统管理员和开发者诊断 Linux 系统问题的必备工具,熟练掌握可以帮助快速定位硬件、驱动和内核级别的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1159718.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【课程设计/毕业设计】基于深度学习python-CNN的鞋面缺陷识别基于深度学习python-CNN深度学习的鞋面缺陷识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

拒绝冗余,介绍一款轻量简洁的项目管理工具 - Kanass

为了保证项目高效、有序地推进,我们通常使用如Jira等项目管理工具。Jira整体功能完善,自定义能力强大,但配置繁琐,上手难度大,同时随着Atlassian销售策略调整Jira server中国区即将停止维护,今天给大家推荐…

走出“模拟器”:在松山湖,看见中国高校开发者的硬核毕业礼

12月底的东莞松山湖,空气中不仅有南方特有的湿润,还弥漫着一股焦灼的“硅味”。这股味道的来源,是鲲鹏昇腾创新大赛全国总决赛2025的现场。与其他同类赛事不同,在昇腾赛道的答辩区,映入评委眼帘的不再是满屏枯燥的代码…

给水干管工程量-连续测量高效计算

给水干管工程量-连续测量高效计算 给水干管作为室内给水系统的主干线,其工程量计算需综合系统图与平 面图,明确管径变化与走向。本文将通过CAD快速看图的【连续测量】与【文字查找】,高效追踪管道路径,快速完成不同管径干管的分类…

UE5 C++(27-2):

(152) (153) 谢谢

深度学习计算机毕设之基于卷神经网络python-CNN的鞋面缺陷识别基于深度学习python-CNN的鞋面缺陷识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Jira vs bugzilla vs mantis vs Kanass,项目管理工具深度纵评

本文根据功能、价格和易用性,对比了多款主流工具,供参考。1、jira1.1 产品介绍JIRA一款项目与事务跟踪工具,主要用于缺陷跟踪、客户服务、需求收集、流程审批及敏捷管理等领域,具有配置灵活、功能全面、部署简单和扩展丰富的特点。…

UE5 C++(28):

(153) (154) 谢谢

confluence vs 语雀 vs notion vs sward,知识管理工具深度纵评

本文根据功能、价格和易用性,对比了多款主流工具,供参考。 1、confluence 1.1 产品介绍 Confluence是由Atlassian开发的企业级知识管理与协同软件,主要用于构建团队协作平台及企业Wiki。其核心功能包括文档协作、信息共享、版本管理及跨部…

python基于vue的三门峡旅游推广系统的设计与实现django flask pycharm

目录系统设计背景技术架构设计核心功能模块系统实现亮点应用价值开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统设计背景 随着旅游业快速发展,三门峡作为历史文化名城和自然…

Zynq上UART/IIC/SPI的27个实验-第2课:PS 硬件 UART 接收

目录 目标 串口接收中断中记录接收到的数据并置位标志, 主循环检测该标志后,将接收到的消息统一发送出去。 BD main.cpp #include "xparameters.h" #include "xuartps.h" #include "xscugic.h" #include "xil_exce…

python基于vue的商城购物平台设计与实现 优惠卷django flask pycharm

目录技术栈选择系统功能模块数据库设计前后端交互逻辑部署与优化开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!技术栈选择 Python作为后端开发语言,搭配Django或Flask框架实现…

深度学习毕设项目:基于机器学习python-CNN的鞋面缺陷识别基于深度学习python-CNN的鞋面缺陷识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

基于 YOLOv8 的智能摊位识别与视频监控系统 [目标检测完整源码]

基于 YOLOv8 的智能摊位识别与视频监控系统 [目标检测完整源码] 一、项目背景与应用价值 在集市、夜市及临时摊位等场景中,商品种类繁杂、人员流动频繁,传统依赖人工巡查或普通监控的视频管理方式,往往存在效率低、信息利用率不足等问题。随…

基于 YOLOv8 的无人机航拍树木智能识别实战项目分享

基于 YOLOv8 的无人机航拍树木智能识别实战项目分享 ——从林业遥感需求到工程化落地 一、应用背景与问题定义 在林业资源普查、生态环境监测及智慧农业等场景中,无人机航拍影像已成为获取大尺度地表信息的重要手段。然而,航拍图像往往存在 视角变化大…

AI论文写作从零到一操作指南:6款工具手把手教你1小时搞定全文

一、AI论文工具选型:6款主流工具核心能力对比 作为论文新手,你是否曾在选题时抓耳挠腮、在文献综述里迷失方向、对着空白文档发呆?别慌——AI工具能帮你把论文写作周期从“月”压缩到“小时”。但市面上工具鱼龙混杂,选对工具才能…