温馨提示×

CentOS dmesg日志中常见错误代码解析

小樊
101
2025-09-17 23:58:50
栏目: 智能运维

CentOS dmesg日志中常见错误代码及解析

1. 硬件相关错误

  • ACPI Error: AE_NOT_FOUND
    解读:ACPI(高级配置与电源接口)在评估某个对象时未找到对应项,常见于硬件与BIOS配置不兼容(如新硬件未在BIOS中启用)或ACPI表损坏。
    示例:[ 0.000000] ACPI Error: AE_NOT_FOUND, While evaluating Null (20200831/psparse-542)
    排查:进入BIOS检查硬件配置(如SATA模式、USB控制器是否开启),更新BIOS至最新版本。

  • i8042: PNP: No PS/2 controller found
    解读:未检测到PS/2控制器(负责键盘、鼠标输入),可能是键盘/鼠标未正确连接、控制器硬件故障或驱动缺失。
    示例:[ 0.000000] i8042: PNP: No PS/2 controller found.
    排查:检查外设物理连接(更换USB/PS/2接口),尝试使用外接USB键盘/鼠标测试。

  • ata1: SATA max UDMA/133 abar m2048@0xf6000000 port 0xf680 irq 45
    解读:SATA控制器初始化信息(非错误,但需关注后续是否有errorfail关键字)。若后续出现ataX: softreset failedlink down,则表示硬盘连接故障。
    示例:[ 1.234567] ata1: SATA max UDMA/133 abar m2048@0xf6000000 port 0xf680 irq 45
    排查:若出现失败信息,检查SATA数据线、电源线连接,更换线缆测试。

2. 内存相关错误

  • Out of memory: Killed process 12345 (python)
    解读:系统内存耗尽,触发OOM Killer(内存杀手)终止进程以释放内存。常见于内存不足、进程内存泄漏(如Python脚本未释放内存)。
    示例:[ 1234.567890] Out of memory: Killed process 12345 (python) total-vm:1234567kB
    排查:用free -m查看内存使用情况(重点关注available列),用top找出内存占用高的进程(按M排序),优化进程或增加内存。

  • Memory allocation failed
    解读:内存分配失败,可能是物理内存不足、虚拟内存(Swap)耗尽或内存泄漏。
    示例:[ 567.890123] kmalloc: memory allocation failed: size=1048576
    排查:用free -m检查内存和Swap使用情况,若Swap已满,可添加Swap分区(fallocate -l 2G /swapfilechmod 600 /swapfilemkswap /swapfileswapon /swapfile);若为内存泄漏,需重启相关服务或修复程序。

3. 驱动程序相关错误

  • modprobe: fatal: module aufs not found
    解读:尝试加载aufs(高级多层统一文件系统)内核模块失败,说明模块未安装或内核不支持。常见于需要aufs的容器或虚拟化场景(如Docker)。
    示例:[ 2.345678] modprobe: fatal: module aufs not found in directory /lib/modules/$(uname -r)
    排查:安装对应内核版本的aufs模块(yum install kernel-devel-$(uname -r)→编译安装aufs),或改用其他支持的文件系统(如overlay2)。

  • [drm:intel_modeset_init [i915]] ERROR Failed to initialize intel modesetting
    解读:Intel集成显卡驱动初始化失败,可能是驱动版本不兼容、内核更新后未更新驱动或显卡硬件故障。
    示例:[ 3.456789] [drm:intel_modeset_init [i915]] *ERROR* Failed to initialize intel modesetting
    排查:更新Intel显卡驱动至最新版本(yum install xorg-x11-drv-intel),或回滚内核至之前稳定的版本。

4. 网络相关错误

  • e1000e: eth0: link is not ready
    解读:Intel千兆网卡(e1000e驱动)链路未就绪,可能是网线未连接、网卡故障或交换机端口问题。
    示例:[ 4.567890] e1000e: eth0: link is not ready
    排查:检查网线连接(更换网线、接口),用ip link show eth0查看网卡状态(若state UPlink not ready,可能是驱动问题,更新驱动)。

  • NETDEV WATCHDOG: eth1: transmit timed out
    解读:网卡(eth1)发送数据超时,可能是网络拥塞、网卡硬件故障或驱动bug。
    示例:[ 789.012345] NETDEV WATCHDOG: eth1: transmit timed out
    排查:检查网络连接(用ping测试连通性),更新网卡驱动(yum update e1000e),或更换网卡测试。

5. 系统通用错误

  • EADDRINUSE: Address already in use
    解读:端口已被占用,常见于多个服务绑定同一端口(如两个Apache实例都绑定80端口)。
    示例:bind: Address already in use(对应errno=EADDRINUSE
    排查:用netstat -tulnp | grep :80ss -tulnp | grep :80查看占用端口的进程,杀掉冲突进程(kill -9 <PID>)或修改服务端口。

  • ENODEV: No such device
    解读:指定的设备不存在,可能是硬件未连接、设备名称错误或驱动未加载。
    示例:[ 5.678901] scsi_hostadapter: device not found (ENODEV)
    排查:检查硬件连接(如USB设备、SATA硬盘),用lsblkfdisk -l查看设备是否存在,加载对应驱动(modprobe <driver_name>)。

  • ENOMEM: Cannot allocate memory
    解读:内存不足,无法完成操作(如分配大块内存、创建进程)。
    示例:[ 901.234567] kmalloc: Cannot allocate memory (ENOMEM)
    排查:用free -m查看内存使用情况,关闭不必要的进程释放内存,或增加系统内存。

6. 散热相关错误

  • CPU0: Core temperature above threshold, cpu clock throttled (total events = 123)
    解读:CPU核心温度超过阈值(如Intel CPU的TjMax,通常为100℃),触发了降频(throttling)以防止硬件损坏。
    示例:[ 1234.567890] CPU0: Core temperature above threshold, cpu clock throttled (total events = 123)
    排查:用sensors命令查看CPU温度(coretemp-isa-0000),清理风扇灰尘(用毛刷+压缩空气),检查散热片是否松动,必要时更换风扇。

7. 电源相关错误

  • power_supply BAT0: failed to update status
    解读:电源供应模块(如电池BAT0)无法更新状态,可能是电池老化、电源管理驱动问题或物理连接故障(如电池接触不良)。
    示例:[ 567.890123] power_supply BAT0: failed to update status
    排查:检查电池物理连接(如笔记本电脑电池是否插紧),用upower -i /org/freedesktop/UPower/devices/battery_BAT0查看电池健康状态(health字段为good/warning/critical),更新电源管理驱动(如acpibattery模块)。

0