排查Linux实例CPU资源使用率高达100%的异常问题

排查Linux实例CPU资源使用率高达100%的异常问题

更新时间:2019-12-31 16:32:58

免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

 

概述

本文介绍在Linux实例中,CPU资源使用率异常时的排查说明。

 

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

使用ECS实例的过程中,如果遇到CPU资源使用率高达100%等异常情况,且无法通过tophtop等命令查询到消耗CPU资源的具体进程。可以通过以下三个要素进行排查。

 

查看云监控管理控制台监控数据

登录云监控管理控制台,单击 主机监控,打开异常主机的 监控图表,在 操作系统监控 处查看该主机的 CPU使用率 信息。

说明:查看监控数据时,查看CPU资源使用率变成100%的起始点,以及一直没有下降的时间点。

 

查看Linux实例的命令修改记录

  1. 远程连接并登录到Linux实例,执行如下命令查看当前Linux系统命令最近是否被修改过。确认系统命令的更改时间是否和CPU使用率出现100%的时间点吻合。
    stat /usr/bin/top
    系统显示类似如下。
    CommandChanges
  2. 依次执行rpm命令验证是否修改过系统命令。正常情况下,系统应该无返回修改信息。
    rpm -Vf /bin/ps
    rpm -Vf /usr/bin/top
    系统异常情况下,显示类似如下。
    CommandQuery

 

查看Linux实例的对外连接

执行如下命令,查看当前实例是否连接到异常域名,如示例中的crypto-pool.fr。

iftop -i [$Device] -n -P

注:[$Device]当前系统正在与外部连接使用的网卡名称。

系统显示类似如下,下图中crypto-pool.fr即是异常域名。

 

解决方法

通过以上排查后,发现结果均符合以上特征,可以判断当前您的Linux实例已经被病毒入侵,需要进行以下操作解决。

  1. 备份实例的数据。步骤请参阅文档创建快照
  2. 重新初始化磁盘,并参阅文档云服务器ECS感染木马病毒后的解决方法巩固系统。

 

适用于

  • 云服务器 ECS