诊断项与诊断结果说明

实例健康诊断功能是一种自助诊断方式,可以对实例的系统状态、网络状态、磁盘状态等进行全方位的诊断,帮助您了解实例健康情况,及时发现并解决常见的问题。本文介绍该功能支持的诊断项,并提供了详细的诊断范围及建议操作供您参考。

诊断项

实例健康诊断功能支持以下诊断:

说明

计算服务健康诊断、网络服务健康诊断、存储服务健康诊断、实例配置管理诊断发现的异常属于非实时态异常,诊断结果会包括过去12小时内存在过的异常用于查看历史问题,不一定需要实时修复。安全控制健康诊断、费用类诊断、资源配额诊断、实例操作系统内相关配置诊断发现的异常属于实时态异常,在当前诊断时就存在,建议实时修复此类异常。

计算服务健康诊断

诊断项(控制台)

描述

诊断范围及建议操作

实例申请资源异常

因CPU或内存资源不足,导致实例无法正常启动。

检查该实例所需要的CPU、内存等物理资源是否充足。

在需要重新为实例分配资源时,例如从节省停机模式启动实例,如果因为库存不足导致物理资源不足,将使实例无法启动。您可以等待几分钟后重新尝试开机,或者在其他地域或可用区尝试重新创建实例。

实例操作系统异常

实例操作系统出现了内核Panic、OOM异常或内部宕机等故障。

检查该实例的操作系统(Guest OS)内部是否存在内核Panic、OOM异常或内部宕机等故障。

此类故障可能是由于实例配置不当或用户空间的程序配置不当导致的,您可以尝试通过重启实例进行恢复。

实例虚拟化异常

实例在运行中出现崩溃或异常暂停。

检查该实例底层虚拟化层核心服务是否出现异常。

出现此类异常可能会导致实例崩溃或出现异常暂停,您可以尝试通过重启实例进行恢复。

实例所在宿主机告警

实例所在的物理设备出现故障告警。

检查该实例所在的底层物理机是否有故障。

如果底层物理机存在故障,则可能会影响实例的运行状态或性能。您可以尝试通过重启实例进行恢复。

实例性能受限

积分型实例当前处于性能受限模式。

检查突发性能实例的CPU积分余额是否足够支付维持高性能所需的积分。

如果积分不够,则该突发性能实例在业务高峰时只能使用基准性能,而无法启动突发性能。

实例CPU异常

实例因CPU争抢而出现异常,或者独享型实例的CPU绑定失败。

检查共享型实例底层是否存在CPU争抢。

如果存在CPU争抢,可能导致该实例无法获得CPU或出现其他异常。您可以尝试通过重启实例进行恢复。

实例管控系统异常

ECS实例后台管控系统发生异常。

检查该实例的后台管控系统是否正常工作。

如果后台管控系统未正常工作,可能会导致实例运行异常。您可以尝试通过重启实例进行恢复。

实例性能短暂受损

检查实例是否受到底层软硬件问题的影响,导致性能短暂受损。

检查实例是否存在因底层软硬件问题导致的性能受损。

如果存在性能受损,会提示发生时间,请您检查该实例的历史系统事件或者系统日志进行确认。具体操作,请参见查看历史系统事件查看实例的系统日志和屏幕截图

网络服务健康诊断

诊断项(控制台)

描述

诊断范围及建议操作

实例的底层网络链路存在丢包

实例对应的底层网络物理设施或网络服务存在丢包。

检查该实例的底层网络链路是否存在丢包现象。

如果存在,将影响实例的网络连通性或网络吞吐,例如导致实例无法远程连接,或网速过慢。您可以尝试通过重启实例进行恢复。

实例的网络配置不一致

实例当前生效的网络配置与底层服务配置存在不一致。

检查该实例的底层网络配置是否一致。

如果实例的底层网络配置不一致 ,将影响实例的网络性能。您可以尝试通过重启实例进行恢复。

实例链路层异常

实例网卡链路层出现异常。

通过向网卡发送ARP(地址解析协议)请求来验证实例基础网络配置是否正常。

如果请求失败,则很有可能是实例未正常启动或网络配置有问题,您可以尝试通过重启实例进行恢复。

网卡加载异常

实例的网卡加载异常。

检查该实例的网卡是否能正常加载。

如果网卡无法正常加载,将影响实例的网络连通性,例如实例无法远程连接。您可以尝试通过重启实例进行恢复。

网卡丢包

网卡入方向或出方向存在丢包现象。

检查该实例的网卡入方向或出方向是否存在丢包现象。

如果存在,将影响实例的网络连通性或网络吞吐,例如导致实例无法远程连接,或网速过慢。您可以尝试通过重启实例进行恢复。

网络会话异常

网卡会话无法正常建立,或会话数超过上限。

检查该实例的网卡是否能正常建立会话。

如果网卡无法建立会话或已建立的会话超过限制,将影响实例的网络连通性或网络吞吐,例如导致实例无法远程连接,或网速过慢。您可以尝试通过重启实例进行恢复。

DDos攻击的防护状态异常

检查实例的公网IP是否受到DDoS攻击以及防护状态。

检查该实例的IP地址是否受到了DDoS攻击。

阿里云免费提供的DDoS原生防护服务可以帮您完成一定程度的攻击流量清洗,缓解DDoS攻击造成的不可用,但如果攻击流量已超出您实例的防护能力,仍会导致实例进入不可用状态,无法正常访问。更多DDoS攻击详情,请参见什么是DDoS攻击

您可以视情况购买其他DDoS防护产品抵御DDoS攻击,更多信息,请参见如何选择DDoS防护产品

阿里云DDoS预防最佳方案,请参见缓解DDoS攻击的最佳实践

网络流量达到实例网络带宽上限

检查实例的网络突发带宽是否受到限制。

检查该实例的突发网络带宽。

如果突发网络带宽已超过实例规格对应的网络突发带宽上限,会导致网络性能成为业务瓶颈,请您将实例升级至网络带宽能力更高的实例规格。具体操作,请参见修改实例规格

说明

不同实例规格的网络突发带宽能力,请参见实例规格族

网络流量因达到实例网络带宽上限而受限

检查实例的内外网带宽总量是否达到该实例规格对应的网络带宽上限。

检查该实例的内外网带宽总量。

如果带宽总量已超过实例规格对应的网络基础带宽上限,会导致网络性能成为业务瓶颈,请您将实例升级至网络带宽能力更高的实例规格。具体操作,请参见修改实例规格

说明

不同实例规格的网络基础带宽能力,请参见实例规格族

存储服务健康诊断

诊断项(控制台)

描述

诊断范围及建议操作

磁盘扩容未生效

在控制台对Linux实例的磁盘扩容后,检查是否需要进一步执行扩容命令。

检查在控制台对该实例的磁盘扩容后,是否已经生效。如果在控制台完成了扩容操作但实际没有生效,需要手动执行扩容命令扩容分区和文件系统。具体操作,请参见步骤一:扩容云盘容量

实例磁盘IO hang

磁盘IO hang,导致磁盘无法读写。

检查该实例的系统盘是否存在IO hang的情况(即磁盘内的文件系统因读写IO延迟过高导致系统不稳定或宕机)。

如果出现IO hang,云盘无法进行读写操作。建议您查看云盘的性能指标,具体操作,请参见查看云盘监控信息

如果您使用的是Alibaba Cloud Linux 2操作系统,检测IO hang的操作,请参见检测文件系统和块层的IO hang

实例磁盘加载异常

创建或挂载磁盘时出现错误。

检查该实例在启动时云盘是否能正常挂载。

如果挂载失败,则会导致实例无法正常启动。请停止实例后再次启动实例,或重新挂载云盘,进行恢复。挂载云盘的操作,请参见挂载数据盘

实例云盘读写受限

磁盘IO出现延迟过长,或达到该云盘类型的IO上限。

检查该实例系统盘的读写IO是否存在延迟,以及读写的IOPS是否超过了该云盘的IOPS上限。

如果云盘读写IOPS超过上限,则云盘读写将被限制,查看云盘指标的操作,请参见查看云盘监控信息

为避免该情况再次发生,请您降低磁盘的读写频率或升级为更高性能的云盘类型。各类云盘的读写性能指标,请参见块存储性能

实例磁盘扩缩容异常

磁盘扩缩容后,操作系统调整文件系统的大小失败。

检查该实例的系统盘在扩容后,云盘上的文件系统是否也调整成功。

如果文件系统未成功调整,表示云盘容量因资源不足或其他原因导致扩容失败,新扩容的磁盘无法使用。请重新发起扩容操作。不同操作系统的扩容方法与限制,请参见云盘扩容指引

实例配置管理诊断

诊断项(控制台)

描述

诊断范围及建议操作

实例启动异常

实例无法被管控系统正常启动。

检查该实例的boot操作是否能正常执行加载。

如果实例无法正常启动,您需要创建一个新的实例。

实例核心操作异常

您对实例进行管理控制的操作执行失败。

检查您对该实例最近执行的管理操作,例如开机、关机、升配等是否执行成功。

如果执行失败,您需要重新发起该操作。

实例镜像加载异常

实例所使用的镜像无法正常加载。

检查该实例在启动时所使用的镜像是否能正常加载。

镜像可能因为系统原因、镜像问题等加载失败。您可以尝试通过重启实例进行恢复。

安全控制健康诊断

诊断项(控制台)

描述

诊断范围及建议操作

安全组入方向常用端口未放开

对于Windows实例,检查安全组的3389端口放开情况;对于Linux实例,检查安全组的22端口放开情况。

检查该实例关联的安全组常见端口的放开状态。

如果常见端口未放行,可能会导致部分服务无法正常运行或实例无法访问。检查放行的常见端口如下:

  • 入方向SSH端口(22),需放行。

  • 入方向RDP端口(3389),需放行。

费用类诊断

诊断项(控制台)

描述

诊断范围及建议操作

检查包年包月实例是否已到期

检查以包年包月方式购买的实例是否已到期。

如果该实例是包年包月的计费方式,检查实例是否已到期。

到期后,实例将被关机停服,实例无法访问。到期后资源状态变化,请参见包年包月。您需要续费来恢复服务,更多信息,请参见续费概述

检查按量实例是否因为欠费导致停服

检查以按量付费方式购买的实例是否因欠费被停止而无法使用。

如果该实例是按量付费的计费方式,检查账号是否欠费。

欠费后,实例将被关机停服,实例无法访问。账号欠费后资源状态变化,请参见按量付费。您需要充值后重启才能恢复实例。

检查实例的组件是否已欠费

检查实例的云盘或网络带宽是否因账号欠费而无法正常使用。

检查包年包月实例关联的按量付费云盘或网络带宽是否因账号欠费而无法正常使用。

实例组件欠费被停服后,实例的访问也将受到影响。您需要充值进行恢复。

资源配额诊断

诊断项(控制台)

描述

诊断范围及建议操作

云盘容量配额不足

云盘容量即将达到限额。

如果当前账户的云盘容量即将超过配额上限,您可以在ECS管理控制台申请提升配额,具体操作,请参见ECS配额管理

镜像数量配额不足

当前账户镜像数量即将达到限额。

如果当前账户的镜像总数即将达到配额上限,请您进入云服务器ECS通用配额列表,单击当前账户保有自定义镜像数量限额操作列的申请,提升镜像数量配额。

弹性网卡创建数达到上限

当前账户拥有的弹性网卡(辅助网卡)即将达到限额。

如果当前账户的弹性网卡数量即将超过配额上限,您可以在ECS管理控制台申请提升配额,具体操作,请参见ECS配额管理

网卡总队列数达到上限

当前实例使用的网卡队列数已达到上限。

安全组总数达到上限

当前账户创建的安全组数量即将达到限额。

如果您的安全组总数即将达到配额上限,请您进入云服务器ECS通用配额列表,单击安全组总数量上限操作列的申请,提升安全组数量配额。

资源加入安全组达到上限

当前网卡可加入的安全组即将达到限额。

如果网卡可加入的安全组即将达到配额上限,您可以在ECS管理控制台申请提升配额,具体操作,请参见ECS配额管理

如果您调整了一台ECS实例或弹性网卡可以加入的安全组数量限制,相应的安全组最大规则数量也会发生变化。更多信息,请参见安全组使用限制

安全组内规则达到上限

当前安全组内的规则数即将达到限额。

如果安全组内的规则数即将达到配额上限,您可以在ECS管理控制台申请提升配额,具体操作,请参见ECS配额管理

如果您调整了安全组的最大规则数,您的ECS实例或弹性网卡可加入的安全组数量也会发生变化。更多信息,请参见安全组使用限制

实例操作系统内相关配置诊断(Linux)

诊断项(控制台)

描述

诊断范围及建议操作

总CPU使用率过高

实例当前CPU的使用率已经超过80%(基于top命令返回的数据)。

检查该实例的总CPU使用率。

如果使用率过高,请您定位使用较多CPU资源的进程并判断是否正常。查询CPU资源使用情况的操作,请参见Linux系统的ECS实例CPU使用率或CPU负载较高问题的排查及解决方案

disk中inode检查

检查Disk中inode是否足够。

检查该实例磁盘的inode使用率。

如果使用率过高,可能会导致无法在磁盘上创建新的文件,请您根据需要扩容磁盘。具体操作,请参见步骤一:扩容云盘容量离线扩容云盘(Linux&Windows)

DHCP服务检查

检测DHCP配置情况下,网络相关进程是否存在,不存在的情况下可能会导致网络租约到期之后丢失。

检查该实例eth0网卡的DHCP服务进程。

如果DHCP服务进程不存在,可能会导致实例的IP地址在租约到期后无法续租,进而导致网络中断。开启DHCP服务进程的方法,请参见Linux实例中网络进程异常或不存在,导致无法续租IP地址怎么办?

fstab中的设备检查

检查fstab中的设备是否存在。

检查该实例的/etc/fstab文件。

如果/etc/fstab文件中配置了不存在的设备,可能会导致实例无法启动。移除/etc/fstab文件中不存在设备的方法,请参见如何移除Linux实例“/etc/fstab”文件中不存在的块设备

fstab中的设备挂载状态检查

检查fstab设备是否正确挂载。

检查该实例的/etc/fstab文件。

如果/etc/fstab文件中设备未配置自动挂载,会导致实例启动后无法直接使用设备。请您执行mount命令手动挂载设备,或在/etc/fstab文件中配置自动挂载。配置磁盘自动挂载的方法,请参见Linux实例中存在未正确挂载的云盘,如何处理?

fstab文件的格式检查

检查fstab内容格式是否正确。

检查该实例的/etc/fstab文件。

如果/etc/fstab文件中存在格式错误,可能会导致实例无法启动。修改/etc/fstab文件格式的方法,请参见启动实例时提示Give root password for maintenance或Press xxx to continue该如何处理?

系统防火墙状态检查

检查系统防火墙是否打开。

检查该实例的防火墙。

如果实例开启了防火墙,并设置了屏蔽外界访问的规则,可能会导致无法远程连接实例。开启和关闭防火墙的方法,请参见开启或关闭Linux实例中的系统防火墙

系统文件状态检查

检查关键系统文件状态。

fsck诊断发现实例的文件系统存在异常,可能会导致部分数据丢失,进而导致实例无法访问等问题。

检查并修复文件系统的方法,请参见Linux实例的文件系统检查与修复

limits设置检查

检查limits设置是否正确。

检查该实例的/etc/security/limits.conf文件。

如果/etc/security/limits.conf文件中nofile的值过大,可能会导致无法远程连接实例。修改limits系统参数的方法,请参见Linux实例调整limits文件中nofile参数值的方法

内存设置检查

检查大页内存设置是否过大。

检查该实例的/etc/sysctl.conf文件。

如果/etc/sysctl.conf文件中设置的大页内存数量和大页内存值过大,会导致大页内存(大页内存数量*大页内存值)超过总内存。调整大页内存的方法,请参见调整Linux实例大页内存的方法

常见业务端口监听状态检查

检查常见业务端口(例如22和3389)是否处于监听状态。

检查该实例的常见业务端口。

如果端口未处于监听状态,可能会导致不能访问实例上的应用。检查并修改常见业务端口的方法,请参见Linux实例启动常见服务并查询端口监听状态的方法

CPU使用率超过50%的进程

实例当前CPU的使用率已经超过50%(基于top命令返回的数据)。

检查该实例中进程的CPU使用率。

如果一些进程的CPU使用率过高,请您判断进程是否正常。检查CPU使用率的方法,请参见Linux系统的ECS实例CPU使用率或CPU负载较高问题的排查及解决方案

单个CPU使用率过高

单个CPU的使用率超过85%(基于top命令返回的数据)。

检查该实例的单个CPU在一段时间内的使用率。

如果单个CPU的使用率过高,请您定位使用较多CPU资源的进程并判断是否正常。检查CPU使用率的方法,请参见Linux系统的ECS实例CPU使用率或CPU负载较高问题的排查及解决方案

系统关键进程启动状态检查

检查系统关键进程是否启动。

检查该实例的系统关键进程。

如果系统关键进程处于未运行状态,可能会导致实例无法访问。启动常见进程的方法,请参见Linux实例启动常见服务并查询端口监听状态的方法

NAT环境内核参数检查

检查NAT环境内核参数是否正确。

检查该实例内与NAT环境相关的内核参数配置。

如果NAT环境相关的内核参数配置存在异常,会导致无法通过SSH连接实例,以及访问实例上的HTTP服务时出现异常。请您检查并调整/etc/sysctl.conf中的net.ipv4.tcp_tw_recyclenet.ipv4.tcp_timestamps参数的取值。修复NAT环境内核参数的方法,请参见Linux系统内核配置问题导致NAT环境访问实例出现异常

TCP SACK设置检查

检查TCP SACK是否开启。

检查该实例是否开启了TCP SACK。

如果未开启TCP SACK,可能会影响实例的网络性能。开启TCP SACK的方法,请参见Linux实例开启TCP SACK的方法

检查操作系统是否OOM

检查操作系统是否OOM。

检查该实例的操作系统是否发生了OOM(Out of Memory)问题。

如果发生了OOM问题,请您检查实例当前的可用内存大小是否足以支撑实例上运行的业务,并在必要时升级配置提升实例内存。分析OOM根因并解决OOM问题的方法,请参见如何处理Linux实例中的OOM问题?

系统关键文件格式检查

检查系统关键文件格式。

检查该实例的系统关键文件格式是否为Unix格式。

如果系统关键文件格式错误(不是Unix格式),可能会导致无法远程连接实例。修改系统文件格式的方法,请参见Linux实例中修改文件为Unix格式的方法

selinux状态检查

检查SELinux是否开启。

检查该实例是否开启了SELinux服务。

如果开启了SELinux服务,会导致SSH远程连接实例时报错,请您视情况选择临时或永久关闭SELinux服务。关闭SELinux服务的方法,请参见Linux实例中由于SELinux服务开启导致SSH远程连接异常

系统关键用户状态和密码设置检查

检查关键系统用户(Linux系统检查root账号、Windows系统检查Administrator账号)的密码是否存在等。

检查该实例操作系统的关键系统用户。

如果不存在关键系统用户,可能会导致无法登录实例。请您检查/etc/passwd中关键系统用户的状态和密码设置情况。检查关键系统用户的方法,请参见Linux实例中关键的系统用户不存在

SSH访问权限检查

检查SSH的访问权限配置是否正确。

检查该实例的SSH访问权限配置。

如果SSH访问权限配置不正确,可能会导致无法登录实例。修改SSH访问权限的方法,请参见SSH的访问权限异常导致无法远程连接Linux实例

SSH关键文件系统检查

检查SSH访问所需要的关键文件或目录是否存在。

检查该实例中SSH服务所需的关键文件或目录。

如果SSH服务所需的关键文件或目录不存在,可能会导致无法SSH登录实例。修复SSH服务所需的关键文件或目录的方法,请参见检查Linux实例是否存在SSH服务所需的必备文件或目录

SSH是否允许root用户登录检查

检查SSH配置是否允许root用户连接。

检查SSH配置是否允许root用户连接。

如果禁止使用root用户登录实例,会导致使用root用户登录实例时返回Permission denied, please try again错误。修复root用户登录实例报错的问题,请参见通过SSH客户端登录Linux实例时提示“Permission denied, please try again”错误怎么办?

网卡多队列开启状态检查

网卡多队列是否开启。

检查该实例的网卡是否开启了网卡多队列特性。

如果未开启网卡多队列特性,可能会影响实例网络性能。开启网卡多队列的方法,请参见管理网卡多队列

实例操作系统内相关配置诊断(Windows)

诊断项(控制台)

描述

诊断范围及建议操作

Windows操作系统的版本检查

微软已经不再维护Windows Server 2008及之前的版本。

检查该实例的Windows系统版本。

阿里云和微软不再维护Windows Server 2008及之前的版本,请您视情况重装更高版本的Windows系统。实例重装系统的方法,请参见更换操作系统(系统盘)

总CPU的使用率过高

检查Windows CPU使用率总体超过85%。

检查该实例的CPU使用率。

如果CPU总使用率过高,请您定位使用较多CPU资源的进程并判断是否正常。检查CPU使用率的方法,请参见Windows系统ECS实例中CPU使用率较高问题的排查及解决方案

单CPU使用率过高

检查单CPU使用率超过80%。

检查该实例的CPU使用率。

如果单个CPU的使用率过高,请您定位使用较多CPU资源的进程并判断是否正常。检查单个CPU使用率的方法,请参见Windows系统ECS实例中CPU使用率较高问题的排查及解决方案

内存使用率偏高

检查Windows系统内存使用率是否超过80%。

检查内存的使用率是否超过80%。

如果该实例当前内存的总使用率已经超过80%,会列出内存使用率排名前5的进程,请检查对应进程是否正常。分析Windows内存使用率过高的具体操作,请参见Windows系统内存分析工具的介绍

Windows常用业务端口占用状态检查

检查Windows系统的3389端口是否开放。

检查该实例的3389端口。

如果未开启3389端口,会导致无法使用远程桌面连接RDP服务访问实例。开启3389端口允许远程桌面连接的方法,请参见Windows实例如何启动远程桌面连接RDP服务

Windows系统网卡状态检查

检查Windows网卡是否打开。

检查该实例的网卡。

如果网卡处于不可用状态,会导致无法远程连接实例。检查并修复网卡状态的方法,请参见Windows实例中系统网卡处于不可用状态

网卡IPv4地址检查

检查Windows系统网卡是否已获得IPv4地址。

检查网卡是否已经获取到IPv4地址。

如果网卡未获取到IPv4地址,可能会导致服务无法访问。请检查该实例是否已启用DHCP服务或配置静态IP地址。开启DHCP服务的具体操作,请参见如何在工作组中安装和配置DHCP服务器

系统网络代理状态检查

检查系统是否设置了网络代理信息。

检查系统是否设置了网络代理。

如果设置了网络代理,可能会导致服务无法正常访问,请根据业务需要选择是否关闭这些网络代理。Windows系统关闭网络代理的具体操作,请参见如何重置你的Internet Explorer代理设置

DHCP配置状态检查

检查Windows系统网卡的DHCP服务是否开启

检查网卡上DHCP服务的状态。

如果网卡上的DHCP服务处于关闭状态,可能会导致服务无法访问,请根据业务需要调整对应网卡的DHCP配置。Windows配置DHCP服务的具体操作,请参见如何在工作组中安装和配置 DHCP 服务器

Windows虚拟磁盘驱动状态检查

检查VirtIO驱动的版本。

检查该实例的VirtIO驱动版本。

如果VirtIO驱动版本过低,会导致实例磁盘无法在线扩容。升级VirtIO版本的方法,请参见更新Windows实例的virtio驱动

磁盘容量检查

检查系统C盘容量是否小于1 GB。

检查该实例系统盘(C盘)的可用空间。

如果可用空间小于1 GB,可能会导致系统运行缓慢,甚至实例无法启动,请您根据需要扩容磁盘。具体操作,请参见步骤一:扩容云盘容量离线扩容云盘(Linux&Windows)

Windows防火墙状态检查

检查Windows防火墙的状态是否为打开状态。

检查该实例的防火墙状态。

如果防火墙处于开启状态,可能会导致无法访问实例上的服务,请视情况调整防火墙的相关策略配置。配置防火墙策略的方法,请参见Windows Server系统的ECS实例防火墙策略的配置方法

crash dump配置状态检查

检查系统是否开启了crash dump信息采集。

检查是否开启了采集crash dump信息。

如果未开启采集crash dump信息,当系统出现异常重启或蓝屏时,无法保存相关信息进行故障排查,请根据业务需要选择是否要开启采集crash dump信息。Windows开启采集crash dump信息的具体操作,请参见Windows系统异常重启以及蓝屏的处理方法

Administrator账号检查

检查Administrator账号是否存在。

检查是否存在Administrator账号。

如果不存在Administrator账号,可能会导致服务无法正常访问,请根据业务需要选择是否要创建Administrator账号。Windows系统创建账号的具体操作,请参见如何使用管理控制台添加或删除管理员