linux服务器宕机处理及分析

1. 服务器宕机了怎么办?

1.查看监控系统的历史纪录,图表

2.机器能起来上去查看日志相关信息

启动机器,看能否登陆,如果能登陆,请检查:

a、是否是应用程序导致内存溢出或者泄露导致

b、是否是进程过多或者不断创建,耗尽资源导致

c、是否是数据库程序死锁,连接数过多导致

d、是否是应用程序异常导致

e、是否是流量负载过大导致

f、是否是遭受黑客入侵攻击导致

g、是否是误操作导致

如果无法查看故障现场,则可以查询系统日志查看是否有异常记录。

1. /var/log/messages —— rp 爆发的时候,也许会记录下很多相关信息。按照时间戳查找。

2. 回溯操作 —— 回忆 Kernel Panic 之前所做的所有事,并回滚。(如安装了某个程序,可以查看程序日志文件)

3. Dump 信息 —— 屏幕输出信息是系统最后的“遗言”,请使用手机拍照或者笔纸记录。(tty only)


相关操作:

last |egrep -i "crash|reboot" 查看宕机及重启时间

sar -u -f /var/log/sa/sa21 |more 查看历史cpu情况 (-r 查看内存,-b 查看内存数据是当月多少号的日志,如21表示查看21日的使用情况)

怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看

怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

sysstat 工具简介: sar命令详解

参考:http://blog.sina.com.cn/s/blog_3d5b39820101n6rk.html


2. Linux经常死机、卡住

linux操作系统服务器在出现死机或卡顿情况,可以参考以下项目进行整体排查:

a、检查服务器进程与服务否占用了太多的内存或是没有释放内存,当服务器内存用完后,然后就会很快宕机;

b、看看/var/spool/cron 里面是不是有cron(计划任务、自动任务)在对应时间段内执行;

c、检查web服务器的参数是否超过了服务器的性能,如允许最大连接数过高等;

d、进程数很高,服务瘫痪,机器假死(例如zombie进程是否过多,一直占用资源);

e、cat /var/log/message查看系统日志是否有异常

f、检查磁盘是否有坏块。(可使用badblocks命令配合参数)

g、内核消耗过大,查看是否有瞬间资源占用过大的进程或服务;

h、ps -ef 查看进程异常否,是否存在攻击

3.可能遇到的问题和解决方法

  1. irq conflict (还好我没碰到),可以尝试从 bios 修改硬件irq,或者升级 bios,都不生效就换电脑或者禁用冲突硬件;

  2. bad balock,尝试修复坏道或者屏蔽坏道分区,建议更换磁盘;

  3. io error,同上,也有可能是没有内建文件系统支持的原因,重新编译内核或者找最新版的内核安装;

  4. mod,删除可能导致错误的内核模块(如 vboxdrv),涉及到的命令有:

    • lsmod: 列出已载入的模块

    • modprobe: 载入模块(黑日白月注:在这里和其他命令对应的为 insmod + depmod 比较好,modprobe 更类似于 XXXmod 系列命令的升级整合版本。)

    • rmmod: 移除内核中模块,效果等同于 modprobe -r

    • modinfo: 显示模块相关信息

  5. driver,a卡或者n卡驱动,也容易造成问题;

  6. 硬件本身的问题导致,建议检测硬件可用性和兼容性(例如 memtest+);

  7. 内核 bug,如果您有能力,建议使用 KDB (Kernel debugger) 排错,或者重新编译内核;

  8. 不负责任的告诉您,最好的方法是换机器

参考:


anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/2649.html | ☆★★每天进步一点点,加油!★★☆

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注