如何查看弹性云服务器 ECS 实例的运行状态:控制台与 Linux 命令两种方法
刚用上弹性云服务器 ECS 时,很多人都会遇到同一个问题:实例到底是不是在正常运行?本文介绍两种最常用的查看方法:一种是在控制台看实例状态,另一种是登录实例后用 Linux 命令看系统与服务状态。两种方法看的不是同一个层面,配合使用才能快速定位问题。
一、通过控制台查看实例状态
控制台的实例状态回答的是“这台虚拟机本身是否在运行”。
- 登录华为云控制台,在控制台首页或服务列表中找到“弹性云服务器 ECS”,进入 ECS 控制台。
- 在实例列表中查看目标实例。实例是按区域展示的,需要先确认左上角的区域与实例创建时选择的区域一致,否则列表中看不到这台实例。
- 在实例列表中找到目标实例,查看“状态”列。常见的状态有:
- 运行中:实例已开机,处于正常运行状态。
- 关机:实例已停止。
- 开机中 / 关机中 / 重启中:实例正在执行对应的操作,稍等片刻再刷新查看。
- 创建中:实例正在创建,完成后会变为运行中。
- 故障:实例出现异常,需要进一步排查。
如果只看一台实例的详细情况,可以点击实例名称进入详情页,查看规格、镜像、弹性公网 IP、云硬盘、网卡、安全组等信息。
注意:控制台显示“运行中”,只说明虚拟机已经开机,不代表里面的业务进程一定正常。业务是否正常,还需要在系统内部确认。
二、登录实例后用 Linux 命令查看系统与服务状态
控制台状态正常,但业务访问不通时,就需要登录实例内部排查。先通过 SSH 或控制台远程登录进入实例,再执行下面的只读命令。
1. 查看系统已运行时间与平均负载
uptime
输出中可以看到系统已连续运行的时间,以及最近 1 分钟、5 分钟、15 分钟的平均负载。平均负载持续高于 CPU 核数,通常说明系统比较繁忙。
2. 查看某个服务是否在运行
以 SSH 服务为例(系统使用 systemd 管理服务时):
systemctl status sshd
输出中 Active: active (running) 表示服务正在运行;如果显示 inactive 或 failed,说明服务未运行或启动失败,需要查看日志进一步排查。同理,把 sshd 换成业务服务名,就可以检查其他服务。不同发行版中服务名可能为 sshd 或 ssh,以实际名称为准。
3. 查看 CPU、内存与磁盘使用情况
# 查看 CPU 核数
nproc
# 查看 CPU 型号
cat /proc/cpuinfo | grep "model name" | head -1
# 查看内存使用情况(-h 表示以人类可读的方式显示)
free -h
# 查看磁盘使用情况
df -h
free -h 可以看到内存总量、已用量与可用量;df -h 可以看到每个挂载点的磁盘用量。磁盘占用过高是导致服务异常的常见原因之一。
4. 查看正在运行的进程
# 查看占用 CPU 最高的进程,按 q 退出
top
# 查看某个进程是否在运行,把 nginx 换成实际的进程名
ps aux | grep nginx | grep -v grep
top 按 CPU 占用排序展示进程;ps aux | grep 进程名 可以快速确认某个进程是否存在,后面的 grep -v grep 用于过滤掉 grep 命令自身的进程。
三、结合云监控服务 CES 看指标变化
如果想看一段时间内的变化趋势,可以使用云监控服务(CES)。在 CES 控制台中选择对应的 ECS 实例,可以查看 CPU 使用率、网络流入速率与流出速率、磁盘读写速率等指标;安装监控 Agent 后,还可以查看内存使用率、磁盘使用率等指标。CES 还支持设置告警规则,例如 CPU 使用率持续超过阈值时收到通知。
四、排查思路小结
遇到“实例好像不正常”的情况时,可以按这个顺序排查:
- 先看控制台实例列表中的“状态”列,确认实例是否处于“运行中”。
- 再登录实例,用
uptime、systemctl status、free -h、df -h查看系统与服务状态。 - 最后结合云监控服务 CES 的指标变化,判断是偶发抖动还是持续性问题。
需要注意的是,上面提到的命令都是只读的查询命令,不会修改实例状态。重启、停止实例属于变更操作,执行前请确认业务影响,尤其不要在生产实例上随意操作。
- 点赞
- 收藏
- 关注作者
评论(0)