CentOS日志中常见错误代码解读
日志位置:/var/log/messages
错误表现:系统内存即将耗尽时,内核会自动终止占用内存最高的进程,日志中会出现“Out of memory: Kill process [进程名]”的记录。
原因:物理内存不足或内存泄漏(如应用程序未正确释放内存)。
解决方法:增加物理内存;优化应用程序内存使用;调整内核参数(如vm.overcommit_memory)限制内存分配。
日志位置:/var/log/messages
错误表现:“XFS (设备名): blocked for more than 120 seconds”
原因:底层磁盘故障(如坏道、连接松动)、内核bug或文件系统损坏。
解决方法:检查磁盘健康状态(smartctl -a /dev/sdX);更换故障磁盘;修复文件系统(xfs_repair /dev/sdX)。
日志位置:/var/log/messages、dmesg输出
常见错误类型:ACPI错误(电源管理驱动问题)、Seccomp错误(安全计算模式限制)、USB设备错误。
原因:硬件兼容性问题、内核模块冲突或驱动未正确加载。
解决方法:禁用冲突内核模块(如acpi=off内核参数禁用ACPI);更新内核或驱动程序;检查硬件连接。
日志位置:/var/log/secure
常见表现:SSH登录失败(“Invalid user [用户名] from [IP地址]”)、sudo权限拒绝(“sudo: [用户]: command not allowed”)。
原因:恶意扫描、弱密码、配置不当(如允许root远程登录)。
解决方法:禁用root远程登录(修改/etc/ssh/sshd_config中PermitRootLogin no);启用密钥认证;限制登录IP范围(AllowUsers [用户名]@[IP地址])。
日志位置:/var/log/secure
错误表现:“Module is unknown”(未知认证模块)、“pam_unix(sshd:auth): authentication failure”(认证失败)。
原因:PAM(可插拔认证模块)配置错误、模块文件缺失(如/lib64/security/pam_unix.so)。
解决方法:检查/etc/pam.d/sshd配置文件语法;确认模块文件是否存在;重新安装PAM包(yum reinstall pam)。
日志位置:/var/log/httpd/error_log
常见错误代码及表现:
chmod 755 /var/www/html/data);修复CGI脚本或应用程序代码。日志位置:/var/log/cron
错误表现:“(用户名) CMD (command) exited with status 1”(命令执行失败)、“Mail (got status 0x004b)”(邮件发送失败)。
原因:脚本无执行权限(chmod +x /path/to/script.sh)、环境变量未设置(如PATH缺失)、依赖项缺失(如Python库未安装)。
解决方法:为脚本添加执行权限;在脚本中设置必要环境变量(如#!/bin/bash\nPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin);安装缺失的依赖项。
日志位置:/var/log/maillog
错误表现:“Connection timed out”(连接超时)、“User unknown”(收件人不存在)、“Mail queue full”(邮件队列满)。
原因:网络问题(如SMTP服务器不可达)、收件人地址错误、邮件队列溢出(如Spam攻击)。
解决方法:检查网络连接(ping smtp.example.com);确认收件人地址正确;清理邮件队列(postsuper -d ALL)。