2026/3/29 0:22:23
网站建设
项目流程
建设部网站资质升级公示,专业建站哪家好,域名解析到别人网站,一个服务器可以建多少个网站dmesg#xff08;Diagnostic Message#xff09;是 Linux 中显示内核环形缓冲区#xff08;ring buffer#xff09;内容的强大工具。以下是详细解析#xff1a;
一、dmesg 基础
作用
显示内核启动信息查看硬件设备检测和驱动加载信息追踪内核级错误和警告诊断系统问题和性…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-iboot\|initial典型信息Linux version ...- 内核版本Command line: ...- 内核启动参数Boot ...- 引导信息Memory: ...- 内存检测2. 硬件检测信息# CPU 信息dmesg|grep-icpu\|processor# 内存信息dmesg|grep-imemory\|mem# 存储设备dmesg|grep-idisk\|sda\|nvme\|usb# PCI 设备dmesg|grep-ipci# USB 设备dmesg|grep-iusb3. 驱动加载信息# 网络驱动dmesg|grep-ieth\|network\|driver.*loaded# 显卡驱动dmesg|grep-idrm\|gpu\|radeon\|nvidia\|intel# 文件系统dmesg|grep-ifilesystem\|ext4\|xfs\|btrfs4. 错误和警告信息# 错误级别筛选dmesg--levelerr,warn# 查看所有错误dmesg|grep-Eerror|fail|invalid|unsupported# 查看警告dmesg|grep-Ewarning|deprecateddmesg 日志级别emerg(0) - 系统不可用alert(1) - 必须立即处理crit(2) - 严重情况err(3) - 错误条件warn(4) - 警告条件notice(5) - 正常但重要info(6) - 信息性消息debug(7) - 调试级消息三、实用命令组合实时监控# 实时查看新内核消息watch-n1dmesg | tail -20# 监控特定设备dmesg-w|grep-iusb\|sda时间范围查询# 查看最近5分钟的消息dmesg--since5 minutes ago# 查看特定时间段dmesg--since2024-01-15 10:00:00--until2024-01-15 11:00:00# 查看从上次重启以来的消息dmesg-T --since$(uptime-s)过滤和格式化# 按设备/驱动过滤dmesg|grep-E\[sd[a-z]\]|\[nvme\]# 查看最近100条消息dmesg|tail-100# 查看并分页显示dmesg|less# 彩色输出需要cczedmesg|ccze -A四、dmesg 高级应用1. OOM内存不足分析# 查看所有OOM事件dmesg|grep-ioom\|out.of.memory# 查看被kill的进程dmesg|grep-ikilled.process# 查看详细内存信息dmesg|grep-A5 -B5Out of memory2. 硬件故障诊断# 硬盘错误dmesg|grep-idisk\|sector\|io.error\|smart# 内存错误dmesg|grep-imem.*error\|ecc\|mce# CPU 错误dmesg|grep-icpu.*error\|mce\|thermal# 网络问题dmesg|grep-inetwork\|link\|eth.*down3. 性能问题排查# IRQ 冲突dmesg|grep-iirq.*conflict# DMA 问题dmesg|grep-idma# 时钟同步dmesg|grep-iclock\|tsc五、dmesg 配置和管理缓冲区设置# 查看缓冲区大小cat/proc/sys/kernel/dmesg_restrictcat/proc/sys/kernel/printk# 调整缓冲区临时sudosysctl -w kernel.dmesg_restrict0sudosysctl -w kernel.printk4 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 --since1 hour ago# 按优先级journalctl -k -p err七、实用示例案例1诊断USB设备问题# 插入USB设备后查看日志dmesg|tail-20# 查看USB设备详细信息dmesg|grep-A10 -B5usb.*new案例2诊断网络中断# 查看网络驱动加载和中断dmesg|grep-ieth0\|interrupt\|link案例3系统启动缓慢分析# 查看启动时间线dmesg|grep-E\[.*s\]|head-30八、注意事项权限要求某些选项需要 root 权限环形缓冲区旧消息会被新消息覆盖时间戳默认显示相对时间-T选项转换为本地时间非持久化重启后缓冲区会被清空除非配置保存dmesg是系统管理员和开发者诊断 Linux 系统问题的必备工具熟练掌握可以帮助快速定位硬件、驱动和内核级别的问题。