centos dmesg日志常见错误
导读:CentOS dmesg 常见错误与排查要点 一、快速定位与常用命令 查看可读时间与实时输出:dmesg -T、dmesg -w 仅看错误与告警:dmesg -l err,warn 关键字过滤:dmesg | grep -i “error...
CentOS dmesg 常见错误与排查要点
一、快速定位与常用命令
- 查看可读时间与实时输出:dmesg -T、dmesg -w
- 仅看错误与告警:dmesg -l err,warn
- 关键字过滤:dmesg | grep -i “error|fail|I/O”
- 结合系统日志:journalctl -xe | egrep -i “error|fail”
- 关注设备是否存在:lsblk、blkid
- 查看内核崩溃转储(若已配置 kdump):crash 或 /var/crash/ 下的 vmcore 分析 以上命令可快速聚焦问题来源(硬件、驱动、文件系统、网络等)。
二、常见错误模式与处理建议
| 错误模式 | 典型 dmesg 关键词 | 可能原因 | 排查与处理 |
|---|---|---|---|
| 磁盘 I/O 错误 | blk_update_request: I/O error, end_request: I/O error, Buffer I/O error, I/O error, dev sda, sector N | 磁盘/云盘故障、设备未正确挂载、掉线、线缆/背板问题 | 1) 用 lsblk 确认设备是否存在;2) 云盘执行“重新挂载/重新Attach”;3) 检查 dmesg 持续报错扇区;4) 用 smartctl -a /dev/sdX 看健康;5) 离线扫描坏块(维护窗口);6) 文件系统只读时卸载后修复:e2fsck -f -y /dev/sdX2 或 xfs_repair /dev/sdX2;7) 存在大量重映射/不可恢复扇区时尽快更换磁盘 |
| 文件系统只读 | EXT4-fs (recover) read-only filesystem, 挂载为 ro | 严重 I/O 错误触发只读保护 | 1) 先看 dmesg 的 I/O 错误;2) 备份关键数据;3) 卸载后在维护窗口修复文件系统;4) 修复后 mount -o remount,rw /;5) 若频繁复发,检查磁盘健康与阵列状态 |
| 内存不足 OOM | Out of memory: Killed process, oom-kill | 应用内存超限、内存泄漏、系统内存不足 | 1) 用 **dmesg -T |
| 连接跟踪表满 | nf_conntrack: table full, dropping packet | 高并发短连接、连接跟踪上限过低 | 1) 临时调大哈希表:echo 131072 > /sys/module/nf_conntrack/parameters/hashsize;2) 永久调大上限:net.netfilter.nf_conntrack_max = 524288(/etc/sysctl.conf);3) 优化应用连接复用与超时;4) 考虑在 PREROUTING 对不需要跟踪的流量使用 NOTRACK |
| Kdump 未预留内存 | No memory reserved for crash kernel | 未正确配置 crashkernel 或生成 grub.cfg 失败 | 1) 在 /etc/default/grub 设置合适的 crashkernel=;2) 重新生成配置:grub2-mkconfig -o /boot/grub2/grub.cfg;3) 重启并启用 kdump 服务;4) 确认 /var/crash/ 能生成 vmcore |
| 内存硬件/配置告警 | DIMM checksum error, Advanced ECC disabled, mirror mode disabled, memory initialization warning | 内存条不匹配/故障、BIOS 内存模式与物理配置不一致 | 1) 按主板手册成对、同规格安装内存;2) 进入 BIOS 关闭不匹配的内存高级特性(如高级 ECC/镜像);3) 依据告警更换故障内存;4) 复核节点交叉存取等设置与内存条布局 |
| 以上模式覆盖了磁盘、文件系统、内存、网络与内核崩溃取证的高频场景,可据此快速定位并采取措施。 |
三、实用排查流程
- 第一步:快速筛查
- dmesg -T | tail -n 200、dmesg -l err,warn
- journalctl -xe | egrep -i “error|fail”
- 第二步:确认硬件与设备状态
- lsblk -f、blkid、检查是否掉线/未挂载
- 第三步:磁盘健康与坏块
- smartctl -H /dev/sdX、smartctl -a /dev/sdX
- 维护窗口执行:badblocks -sv /dev/sdX
- 第四步:文件系统修复
- ext4:umount /dev/sdXN & & e2fsck -f -y /dev/sdXN
- xfs:xfs_repair /dev/sdXN
- 只读挂载时先备份再修复,修复后 mount -o remount,rw /
- 第五步:网络与内核取证
- 连接跟踪满:调优 nf_conntrack_max/hashsize 并优化应用连接
- OOM:定位进程、优化内存、调整 oom_score_adj
- 内核崩溃:确认 crashkernel 预留、检查 /var/crash/ 与 crash 分析 以上流程按“日志 → 设备 → 健康 → 修复 → 取证”的顺序推进,能在多数场景下高效收敛问题。
四、注意事项
- 执行 fsck/xfs_repair/badblocks 前务必做好数据备份;坏块扫描对线上业务有性能影响,建议在维护窗口进行。
- 云盘出现 I/O error 且设备节点缺失时,优先执行“重新挂载/重新Attach”并联系云厂商支持排查宿主机磁盘状态。
- 内存与 BIOS 相关告警需按主板手册的配对与模式要求调整,避免开启与物理配置不匹配的高级特性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos dmesg日志常见错误
本文地址: https://pptw.com/jishu/763644.html
