服务器异常死机无故重启的原因及解决方法

一、腾讯云服务器异常死机无故重启的6种常见原因
1. CPU资源利用率过高
2. 内存资源利用率过高
3. 磁盘资源利用率过高
4. 网络流量过大导致各项资源利用率过高
5. 腾讯云服务器被攻击,感染病毒,恶意重启
6. 第三方软件跟系统不兼容,导致蓝屏死机
二、根据6种原因的排查解决思路
1. CPU资源利用率过高
故障现象:死机、自动重启
可能原因:运行程序过多过大,消耗现有的CPU资源
解决方法
windows操作系统
1) 通过腾讯云网址:https://ecloud.10086.cn/usercenter/dashboard,登陆控制台登录腾讯云服务器2) 登录腾讯云服务器VNC3) 首先,点击“开始”→”运行”,输入eventvwr,点击“确定”,就可以打开事件查看器。
在事件查看器中我们可以看到“应用程序”、“安全性”、“系统”、“Internet Explorer”等选项。关于系统事件的故障,如死机、服务异常等,我们主要查看“系统”日志。在日志中有类型为:信息、警告、错误,三种类型的日志。死机的原因记录一般会写到“错误”和“警告”日志中。
我们应该先按日期排序,找到您腾讯云服务器死机的那个时间点所记录到的日志。然后查看类型为“警告”或者“错误”的日志。双击某一个日志文件,您可以查看到详细的事件记录,里面有一个重要的“事件ID”。将您获取到的“事件ID”。
例如,如下远程登录不上的日志:
如上:到下面网站:http://www.eventid.net/中查找报错的原因。网站上会列举出产生该错误的原因以及解决方案。

另外,当服务器受到SYN攻击时也可能会造成资源不足而死机,您可以安装一些可以记录攻击事件的防火墙软件进行拦截和记录。由于腾讯云服务器是虚拟系统,金山毒霸等会造成系统蓝屏,安装防御软件最好选用一些国外的不带系统监控的软件。
4) Windows 2008 R2 / Windows 2012 R2 打开任务管理器 -> 性能 -> 资源监视器 -> 网络

Windows 2012 R2如:a) 通过上述列出的“程序”、“服务”,可以实时分析当前服务器的CPU资源使用情况,找出占用资源高的程序分析。
b) 如果该程序是正常业务程序,确实因为客户端使用量大造成占用资源高,请酌情考虑购买多核CPU的腾讯云服务器;
c) 如果该程序是名称可疑程序,请尝试直接杀死程序,或者使用专业杀毒软件进行杀毒后观察服务器行为;
Linux操作系统
1) 通过腾讯云网址:https://ecloud.10086.cn/usercenter/dashboard,登陆控制台登录腾讯云服务器2) 登录腾讯云服务器VNC3) 利用top命令检查服务器程序与服务是否占用了太多的内存或是没有释放内存,当服务器内存用完后,然后就会很快宕机默认界面上第三行会显示当前 CPU 资源的总体使用情况,下方会显示各个程序的资源占用情况。
可以直接在界面输入大小字母 P,来使监控结果按 CPU 使用率倒序排列,进而定位系统中占用 CPU 较高的程序。最后,根据系统日志和程序自身相关日志,对相应程序做进一步排查分析,以判断其占用过高 CPU 的原因。
2. 内存资源利用率过高
故障现象:死机、自动重启
可能原因:内存资源消耗过高
解决方法:查看分析占用内存过大的程序,尝试使用虚拟内存或者购买更大内存配置的腾讯云服务器
Windows操作系统
Windows 2008 R2 /Windows 2012 R2 打开任务管理器 -> 性能 -> 资源监视器 -> 网络, 如:
Windows 2008 R2如:Windows 2012 R2如:Linux操作系统
使用free -m 查内存利用率。3. 磁盘资源利用率过高
故障现象:死机、自动重启
可能原因:磁盘资源消耗过高
解决方法:查看分析占用资源过大的程序,如果判断业务影响购买大容量磁盘
Windows操作系统
Windows 2008 R2 /Windows 2012 R2 打开任务管理器 -> 性能 -> 资源监视器 -> 网络, 如:
Windows 2008 R2如:Windows 2012 R2如:Linux操作系统
使用命令df -h或者fdisk -l查看磁盘使用情况,如果发现磁盘占用率过高,请先适当做数据清理或者购买更大的云硬盘再对数据进行迁移。
4. 网络流量过大导致各项资源利用率过高
故障现象:死机、自动重启
可能原因:网络流量过大导致服务器处理请求过多
解决方法:查看分析所占用资源情况,如果存在程序占用网络流量过多,找出对应程序占用的CPU、内存及磁盘使用情况,确认是否是业务使用高峰,如果是,建议升级腾讯云服务器配置,如配置升级后存在网络延迟高问题,可能是网络带宽不够,建议升级带宽
Windows操作系统
Windows 2008 R2 /Windows 2012 R2 打开任务管理器 -> 性能 -> 资源监视器,如:
Windows 2008 R2如:Windows 2012 R2如:通过上述列出的“网络活动的程序”、“网络活动”,“TCP连接”,“侦听端口”可以实时分析当前服务器的网络流量情况,找出占用流量高的程序分析;
如果该程序是正常业务程序,确实是因为客户端访问量大造成带宽占用高,请酌情考虑购买更多带宽;
如果该程序是名称可疑程序,请尝试直接杀死程序,或者使用专业杀毒软件进行杀毒后观察服务器网络资源占用率。
Windows系统
可使用Wireshark进行分析,Wireshark是常用的网络分析工具,Wireshark分析网络流量非常简单,通过菜单栏中的statistics->conversations, 会显示出所有的网络通信,从链路层、IP层、TCP层分别给出了流量的具体情况,通信2端的流情况。通过抓取一段时间的网络包可以分析出究竟是哪些连接、端口占用了较高的流量。Linux操作系统
1) 使用iftop工具排查
a) 在服务器内部安装 iftop 流量监控工具:
命令:yum install iftop -y注:服务器外网带宽被占满时,如果通过远程无法登陆,可通过腾讯云自服务门户腾讯云服务器控制台VNC按钮入到服务器内部
b) 查看流量占用情况:
命令:iftop -i eth1 -P
注意:-P 参数将会显示请求端口。执行 iftop -i eth0 -P 命令,可以查看通过服务器哪个端口建立的连接,以及内网流量。举例如下:在中,您可以查看到流量高耗的是服务器上 53139 端口和 115.205.150.235 地址建立的连接。
c)执行 netstat 命令反查 53139 端口对应的程序。
命令:netstat -tunlp |grep 53139d) 经反查,服务器上 vsftpd 服务产生大量流量,您可以通过停止服务或使用 iptables 服务来对指定地址进行处理,如屏蔽 IP 地址或限速,以保证服务器带宽能够正常使用。
2) 使用 nethogs 进行排查
a) 在服务器内部安装 nethogs 流量监控工具。
命令:yum install nethogs -y
b) 通过 nethogs 工具来查看网卡上程序级的流量信息,举例如下:
若 eth1 网卡跑满,执行命令 nethogs eth1。
查看每个程序的网络带宽情况以及程序对应的 PID。
确定导致带宽跑满或跑高的具体程序。c) 若程序确定是恶意程序,可以通过执行 kill -TERMPID> 来终止程序。
说明: 如果是 Web 服务程序,您可以使用 iftop 等工具来查询具体 IP 来源,然后分析 Web 访问日志是否为正常流量。日志分析可以使用 logwatch 或 awstats 等工具进行。
5. 腾讯云服务器被攻击,感染病毒,恶意重启
故障现象:腾讯云服务器频繁重启,资源占用率过高
可能原因:遭到攻击,写入脚本,定时重启腾讯云服务器,运行一些非法程序
解决方法
1) 使用指令:crontab -l 查看是不是有cron(计划任务、自动任务)在对应时间段内执行;2) 检查己方部署的web服务器的参数是否超过了服务器的性能,如允许最大连接数过高等;程序数很高,服务瘫痪,机器假死;
3) 使用tail、more、less、cat等文本处理工具查看日志内容:cat /var/log/message查看系统日志是否有异常4) 使用指令:ps -ef 查看程序是否异常5) 使用top命令查看整体资源使用6. 第三方软件跟系统不兼容,导致蓝屏死机
故障现象:蓝屏死机、自动重启
可能原因:软件跟系统不兼容
解决方法:根据代码提示,搜索相关信息,进行解决
操作系统在蓝屏的情况下,会显示出对应的bugcheck code以及可能的导致蓝屏的模块来大概说明问题发生的原因。如,微软官方列举了如下bugcheck code,详细请参考如下链接:Bug Check Code Reference
http://msdn.microsoft.com/en-us/library/windows/hardware/ff560129(v=vs.85).aspx

标签