1. 原因分析

服务器分类,web服务器,数据库服务器,文件服务器,中间件,其它服务器。

web服务器分析:常见的web应用apache,nginx,IIS等。

宕机原因很多,cpu,内存,IO磁盘,应用BUG,内核BUG,硬件等

系统和内核版本

流程

1.查看宕机的时间记录和历史登陆还有重启时间

last reboot

last -F |grep crash

查看历史登陆有没有异常的用户

last

2.首先查看系统日志。如linux下的/var/log/下的log日志,包括message,内核报错日志demsg等等,sa记录,是记录cpu,内存等运行的性能文件,记录着运行时的cpu的运行状态如图所示。

利用sa文件查看宕机时CPU情况

利用sa文件查看宕机时内存情况

日志量往往很大

还可以进行模糊查询,如

查看报错

tail -200/var/log/messages |grep "Error"

cat /var/log/dmesg|grep "Error"

查看内核崩溃日志

tail -200/car/log/messages |grep "crash"

查看是否出现OOM,一般会出现kill杀死进程的情况

cat /var/log/messages|grep -i "kill"

还可以查看宕机时间段的日志,查看12月11日15点的日志

cat /vat/log/messages|grep "Feb 11 15*"

3.查看内存使用

free -m,查看swap的使用和内存剩余情况和缓存。如果swap用了,且available也不够了,具体还要查看参数cat /proc/sys/vm/swappiness,如果设置为0,说明内存不够了。

4.查看io和文件系统使用

观察idle和iowait。磁盘读写时会用到缓存,一般为系统内存的40%,但是中间有一个缓冲时间120秒,将要用完这个缓存时,且会等待120秒,才会写入磁盘,在读写频繁的时候容易造成hang住的情况。

查看IO的读写速度,如果很慢说明磁盘性能出现瓶颈。

文件系统使用

5.查看安全日志

安全日志为/var/log/secure,查看history记录,查看是否有人登陆主机并做了恶意动作,例如关机。

6.利用kdump和crash工具分析内核

检查服务器开启了kdump服务,并在/var/crash目录找到了当天生成的vmcore文件,使用crash工具分析vmcore文件。

Kdump 用于对内存镜像的转储,它不但可以转储内存镜像到本地硬盘,还可以将内存镜像通过NFS,SSH 等协议转储到不同机器的设备上。

Kdump 分为两个组件:Kexec 和Kdump。

Kexec 是一种内核的快速启动工具,可以使新的内核在正在运行的内核(生产内核)的上下文中启动,而不需要通过耗时的BIOS 检测,方便内核开发人员对内核进行调试。

Kdump 是一种有效的内存转储工具,启用 Kdump 后,生产内核将会保留一部分内存空间,用于在内核崩溃时通过 Kexec 快速启动到新的内核,这个过程不需要重启系统,因此可以转储崩溃的生产内核的内存镜像。

7.查看服务日志和监控软件

如果在能找到宕机时进程的占用情况,可以根据占用异常的服务查看其日志。

服务日志一般有数据库和web服务,中间件,框架等。

还可以查看监控软件的历史记录图像,找到峰值点和宕机时间点的图像分析如下图。

8.总结

系统宕机的原因很多,需要我们细心的按照流程分析,

linux主机宕机排查问题的方法相关推荐

  1. linux主机宕机排查问题方法

    1 排查思路 1.1 查看宕机的时间记录和历史登陆还有重启时间 1)查看历史重启 last reboot last -F |grep crash 2)查看历史异常登录用户 last 1.2 首先查看系 ...

  2. K8s Mysql 一主多从 主机宕机的解决方法

    利用K8s官方方案(Stateful)实现 Mysql 一主多从和读写分离.但是如果Mysql的主机宕机,K8s是不会自动将Pod漂移的,我是将宕机的那台 Node 从k8s的集群中删掉,解决了此问题 ...

  3. mysql主从复制及主机宕机的解决方法

    mysql主从复制及主机宕机的解决方法 文章目录 mysql主从复制及主机宕机的解决方法 概念 为什么需要主从复制 主从复制原理 主从搭建 删除mysql 开始搭建 Mysql主机宕机的解决方法 本篇 ...

  4. linux服务器宕机分析/性能瓶颈分析

    linux服务器宕机分析/性能瓶颈分析 服务器宕机原因很多,资源不足.应用.硬件.系统内核bug等,以下一个小例子 服务器宕机了,首先得知道服务器宕机的时间点,然后分析日志查找原因 1.last re ...

  5. java 宕机_Java应用/JVM宕机排查步骤操作

    相信大家都遇到过,自己的Java应用运行一段时间就宕机了或者响应请求特别慢.这时候就需要我们了来找出问题所在了.绝大部分都是代码问题导致的. 一.服务宕机 如果是服务宕机,发生致命问题导致进程已经死掉 ...

  6. linux主机名和工作组的修改方法

    linux主机名和工作组的修改方法 在Windows下有计算机名和工作组,所以在Linux下也当然有计算机名和工作组了(好吧,说实话,我用Linux时间也不算短了,计算机名这个东东我一直知道,但是在L ...

  7. 虚拟服务器死机了怎么重启,虚拟主机宕机怎么办

    稳定性是考验虚拟主机的重要指标,能否长期稳定运转,是一个合格虚拟主机必备的素质.当然,在虚拟主机使用过程中,我们仍旧无法避免出现各类故障,比如宕机.那么当出现宕机情况时,我们需要怎样解决呢? 1.联系 ...

  8. 使用PHP制作主机宕机检测,并发送Mail通知

    这是在公司时候的一段代码,宕机检测的原理,就只有检测是否能够ping通主机,如果不通发送mail,这只是我能想到的办法,有大神如果能想到更好的检测办法,不吝赐教! OK,废话少说,翠花,上代码! (p ...

  9. redis的读写分离和主机宕机

    主写从读,读写分离 主:只允许写操作 从:只允许读操作 主机宕机,从机原地待命 主机宕机后,他的从机的状态会变成未启用,因为它要等他的老大,也就是主机正常运行后,它才工作 模拟一下 关闭主机的服务 r ...

最新文章

  1. 医院六级电子病历建设思路及要点
  2. java-在应用中获取spring定义的bean
  3. Spark- 使用第三方依赖解析IP地址
  4. sap转换成基本订单单位
  5. CABasicAnimation fillMode和removedOnCompletion
  6. mysql-创建函数,存储过程以及视图
  7. 项目开发日志:Build AssetBundle——SpriteAtlas(已解惑)
  8. 玩转微服务日志框架Logback
  9. 2022年小米路由器安装使用mixbox遇到的问题
  10. 人口普查中应该具备的计算机知识,人口普查知识问答③
  11. 矩阵相乘取共轭_共轭矩阵
  12. python ttk separator_python - ttk.Separator设置长度/宽度 - 堆栈内存溢出
  13. linux内核网络队列,Linux 内核网络协议栈 ------ 清理重传队列中函数 tcp_clean_rtx_queue...
  14. 好消息!!!XMind出视频教程了
  15. QEMU 简介(一)
  16. macbook卡在进度条开不了机_苹果电脑开机一直停留在加载进度条当中是怎么回事...
  17. jpeg压缩解压缩简介
  18. python三方库打包项目中_python项目生成及导入依赖的第三方库
  19. 猿创征文|从mysql 到kingbase(人大金仓)
  20. w7系统的云服务器,云服务器安装w7系统

热门文章

  1. RN端ios全面屏刘海适配
  2. JS 中的 this
  3. 一天4-5小时睡眠也可以高效工作
  4. 19,verilog之任务用法
  5. 服务器缺乏dll文件,服务器缺少dll
  6. SHA-1 加密算法破解现已只需要 10 天
  7. python idle怎么打开_注册表编辑器怎么打开
  8. Element ui 中 el-cascader 级联动态加载数据方法
  9. IDEF1X建模方法
  10. 沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟