# 深度诊断ECS
#### 操作场景
ECS支持操作系统的深度诊断服务，提供GuestOS内常见问题的自诊断能力，您可以通过方便快捷的自诊断服务解决操作系统内的常见问题。
本文介绍支持深度诊断的操作系统版本以及诊断结论说明。
#### 介绍视频
<video controls="controls" preload="none" id="object118097591493" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/ecs-video/1751030928016557143.mp4" title="ECS深度诊断功能介绍" poster="https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002369741980.jpg" height="340.0000" width="600.0000"></video>
#### 约束与限制
- 该功能依赖云运维中心（Cloud Operations Center，简称COC），需开通并授权COC服务。 对于IAM用户，需额外配置COC资源操作类权限，详细内容，请参见[配置ECS自助运维自定义策略](https://support.huaweicloud.com/usermanual-ecs/ecs_03_2502.html)。
  
- 该功能依赖UniAgent。UniAgent是统一数据采集Agent，支持脚本下发和执行。 若ECS未安装UniAgent，则无法免登录发送命令，详细内容，请参见[为ECS安装UniAgent](https://support.huaweicloud.com/usermanual-ecs/ecs_03_2505.html)。
  
- 仅Linux操作系统的ECS支持深度诊断。
- 支持深度诊断的操作系统类型及版本。
  
  | 操作系统类型             | 版本                                                                                                                                                                                                                                                                                                                                                                                                                                                                | CPU架构  |
  |:---|:---|:---|
  | Huawei Cloud EulerOS | Huawei Cloud EulerOS 2.0 Huawei Cloud EulerOS 1.1                                                                                                                                                                                                                                                                                                                                                                                    | x86/鲲鹏 |
  | CentOS             | CentOS 8.2 64bit CentOS 8.0 64bit CentOS 7.9 64bit CentOS 7.8 64bit CentOS 7.7 64bit CentOS 7.6 64bit CentOS 7.5 64bit CentOS 7.4 64bit CentOS 7.3 64bit CentOS 7.2 64bit | x86   |
  | Ubuntu               | Ubuntu 22.04 server 64bit Ubuntu 20.04 server 64bit                                                                                                                                                                                                                                                                                                                                                                              | x86   |
  | Debian              | Debian 11.1.0 64bit Debian 10.0.0 64bit                                                                                                                                                                                                                                                                                                                                                                                         | x86     |
     
  
 
#### 操作步骤
1. 登录[ECS控制台](https://console.huaweicloud.com/ecm/?#/ecs/manager/vmList)，进入弹性云服务器列表页面。
2. 在待深度诊断的ECS的"操作"列，单击"更多 \> 运维与监控 \> 深度诊断"。
3. （可选）在"开通云运维中心并添加权限"页面，阅读服务声明并勾选后，单击"开通并授权"。 若当前账号未开通并授权COC服务，则会显示该页面。
   
4. 在"深度诊断"页面，选择"深度诊断场景"为"全面诊断"。
   ![](https://support.huaweicloud.com/usermanual-ecs/public_sys-resources/notice_3.0-zh-cn.png)
   深度诊断功能依赖UniAgent，如果提示未安装UniAgent或者安装失败，请参考[为ECS安装UniAgent](https://support.huaweicloud.com/usermanual-ecs/ecs_03_2505.html)进行安装，否则无法发送命令。
   图1深度诊断   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002098516329.png "点击放大") 
5. 勾选"同意安装插件并采集数据"后，单击"确定"。 诊断结果及说明，请参见[深度诊断结论]。
   
6. 在诊断结果的"诊断报告"页签查看诊断详情。
   图2诊断报告   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002098409485.png "点击放大") 
7. 在"诊断详情"区域，单击异常项左侧的"![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000001809744816.png)"查看异常详情，并根据"优化建议"进行处理。
   图3诊断异常项（示例）   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002062299476.png "点击放大") 
 
 #### 深度诊断结论
| 诊断项ID                                                 | 诊断项名称                            | 诊断结论                                                                                                                                          |
|:---|:---|:---|
| guestos.cpu.high_total_usage                       | 总CPU占用率过高                      | 实例整体CPU占用率已超过80%                                                                                                                               |
| guestos.cpu.high_process_usage                       | CPU使用率过高的进程                      | 单进程CPU占用率超过整机的50%                                                                                                                             |
| guestos.cpu.high_core_usage                          | 单个CPU占用率过高                       | 单核CPU占用率超过85%                                                                                                                                |
| guestos.storage.high_inode_usage                       | 磁盘使用率检查                        | 该实例当前部分云盘对应文件系统的使用率或inode使用率已经超过了80%，可能导致在这些分区上无法创建新的文件                                                                                       |
| guestos.filesystem.invalid_device                    | fstab中的设备检查                    | 当前实例的/etc/fstab文件中配置的某个设备不存在，可能会导致实例无法启动                                                                                                      |
| guestos.filesystem.device_mount_failure              | fstab中的设备挂载状态检查               | 该实例存在未在/etc/fstab中配置自动挂载的云盘，可能会导致实例无法启动                                                                                                      |
| guestos.filesystem.invalid_format                   | fstab文件格式检查                    | fstab文件存在配置格式错误，可能会导致实例无法启动                                                                                                                  |
| guestos.network.firewall_status_check                  | 系统防火墙状态检查                      | 当前实例的防火墙（即iptables设置）目前处于开启状态，如果服务器开启了防火墙，并设置了屏蔽外界访问的规则，可能会导致远程访问实例失败                                                                         |
| guestos.memory.oom_events                            | 检查操作系统是否OOM                      | 当前实例Guest OS内部曾经发生了OOM（out-of-memory）问题                                                                                                       |
| guestos.ssh.incorrect_file_permission                  | SSH公钥或私钥访问权限检查                 | 当前实例SSH依赖的公钥或私钥文件权限不正确，会导致实例无法通过SSH访问                                                                                                         |
| guestos.ssh.missing_critical_file                   | SSH关键文件检查                        | 当前实例SSH服务对应的关键文件或目录缺失，会导致实例无法通过SSH访问                                                                                                           |
| guestos.memory.high_total_usage                    | 内存使用率过高                       | 实例当前内存使用率已经超过80%                                                                                                                                |
| guestos.ssh.forbidden_root_login                    | SSH是否允许root用户登录                  | 当前实例SSH服务禁止root账号登录，会导致实例无法通过root用户SSH访问                                                                                                       |
| guestos.system.port_listenning                        | 常见业务端口监听状态检查                     | 端口22不存在进程监听，请您登录实例，检查端口业务服务是否存在异常，并根据需要进行修复                                                                                                     |
| guestos.system.unreasonable_file_limits             | limits设置检查                     | 当前实例系统文件/etc/security/limits.conf中部分配置大于系统默认值，可能导致实例无法远程登录                                                                                    |
| guestos.memory.unreasonable_hugepage_config          | 内存大页配置检查                       | 当前实例内核参数vm.nr_hugepages配置的大页内存数量过大，可能导致实例无法远程登录                                                                                                |
| guestos.network.wrong_nat_config                      | NAT网关环境内核参数检查                  | 当前实例NAT网关访问相关的内核参数配置存在异常，导致用户无法通过ssh连接实例，还会导致当前实例上的HTTP服务访问出现异常。请您检查并调整/etc/sysctl.conf中的net.ipv4.tcp_tw_recycle和net.ipv4.tcp_timestamps参数的取值 |
| guestos.network.wrong_tcp_sack                     | tcp_sack配置检查                     | 当前实例未开启tcp_sack，可能会影响Linux实例的网络性能                                                                                                            |
| guestos.system.wrong_selinux_status                    | selinux状态检查                      | 该实例开启了SELinux服务，会导致SSH远程连接实例时报错，请您视情况选择临时或永久关闭SELinux服务                                                                                        |
| guestos.system.missing_critical_user                   | 系统关键用户设置检查                      | 当前实例的系统账号不存在，可能会导致实例无法登录                                                                                                                       |
| guestos.network.disabled_multi_queue                  | 网卡多队列开启状态检查                   | 网卡多队列特性状态未开启，可能对网络性能造成影响。请根据需要将该配置调整为开启状态                                                                                                      |
| guestos.system.critical_file_exists                    | 关键系统文件存在性检查                     | 该实例系统目录中的部分关键系统文件缺失，可能导致实例无法登录                                                                                                               |
| guestos.system.critical_service_exists              | 系统关键进程启动状态检查                  | 该实例系统关键进程(比如SSH进程)处于未运行状态，可能会导致实例无法访问                                                                                                         |
| guestos.system.critical_file_format_invalid          | 系统关键文件格式检查                       | 当前实例系统账号对应文件的文件格式错误（不是unix格式），可能会导致实例无法登录                                                                                                     |
| guestos.network.nic_dropped                         | 网卡丢包检查                          | 当前实例网卡存在丢包问题，将会导致部分业务请求时延偏高或者失败                                                                                                               |
| guestos.cpu.res_interrupts                             | IPI重调度中断数偏高                    | 当前实例IPI重调度中断数偏高，可能引起额外开销，存在业务性能下降的风险，建议结合业务排查确认                                                                                                |
| guestos.cpu.tlb_interrupts                          | TLB中断数偏高                         | 当前实例TLB中断数偏高，可能引起额外开销，存在业务性能下降的风险，建议结合业务排查确认                                                                                                  |
| guestos.cpu.syscall_high_usage                        | 系统内核空间占用CPU开销较高                  | 当前实例sys内核空间占用CPU资源较高，一般是由于应用程序的某些系统调用过多，可能影响应用程序本身的CPU资源使用                                                                                   |
| guestos.cpu.irq_not_balanced                         | CPU核间中断占用率不均衡                   | 当前实例CPU核间中断占用率不均衡，集中到某一个或某几个核上，导致单核si冲高，可能存在CPU单核瓶颈影响业务的风险，请排查                                                                               |
| guestos.storage.high_latency                         | 存储时延偏高                         | 当前实例磁盘存储时延偏高，可能会导致业务卡顿、响应时延偏高等性能问题，请结合业务存储IO诉求排查磁盘规格配置                                                                                       |
| guestos.network.too_much_close_wait_connections       | CLOSE_WAIT状态的连接数偏高              | 当前实例CLOSE_WAIT状态的连接数偏高，存在新请求失败的风险，请排查                                                                                                          |
| guestos.network.nf_conntrack_table_full               | 链接跟踪表溢出                        | 当前实例链接跟踪表溢出，可能会导致新建连接被丢弃从而造成业务请求失败                                                                                                            |
| guestos.network.too_much_new_connections               | 新建连接数偏高                        | 当前实例存在大量的新建连接数，可能会导致新请求时延增大或者失败                                                                                                               |
| guestos.network.possible_ddos_attack                   | 疑似ddos攻击                        | 当前实例可能存在ddos攻击风险，请检查确认                                                                                                                      |
| guestos.storage.io_bottleneck                      | 存储IO达到磁盘QoS上限                     | 当前实例磁盘存储IOPS或带宽超过磁盘QoS上限，可能会导致业务卡顿或者失败                                                                                                        |
| guestos.network.socket_listenning_queue_overflow     | socket监听队列溢出                   | 当前实例存在socket监听队列溢出丢包问题，可能会导致新建连接无法建立                                                                                                           |
| guestos.network.udp_buffer_overflow                   | UDP缓冲区溢出丢包                    | 当前实例存在UDP突发流量导致缓冲区溢出丢包问题                                                                                                                       |
| guestos.network.too_much_time_wait_connections      | TIME_WAIT状态的连接数偏高                 | 当前实例TIME_WAIT状态的连接数偏高，可能会导致新请求失败，业务不可用                                                                                                        |
| guestos.network.too_much_fin_wait2_connections      | FIN_WAIT2状态的连接数偏高               | 当前实例FIN_WAIT2状态的连接数偏高，会占用大量的本地端口                                                                                                             |
| guestos.network.too_much_established_connections      | ESTABLISHED状态的连接数偏高             | 当前实例ESTABLISHED状态的连接数偏高，会占用大量的本地端口和内存，请结合业务排查是否正常                                                                                              |
| guestos.system.file_descriptor_not_enough             | 文件句柄数偏小                         | 当前实例配置的文件句柄数偏小，当业务使用的文件句柄数达到配置上限的时候，会导致系统不可用                                                                                                    |
| guestos.network.local_port_range_too_small           | 本地端口范围偏小                       | 当前实例配置的本地端口范围偏小，当实例高并发请求其他业务，可能会报错"Cannot assign requested address"，从而导致新建连接失败                                                               |
| guestos.network.qdisc_queue_overflow                | Qdisc发送队列溢出导致丢包                 | Qdisc队列丢包数据                                                                                                                                  |
| guestos.memory.swap_check                            | 业务swap检查                         | 当前实例业务出现swap，会导致业务性能下降，对于性能要求较高的业务会有较大影响                                                                                                      |
| guestos.memory.transparent_hugepage_check             | 透明大页配置检查                         | 当前实例开启了透明大页，建议根据业务性能表现来决定是否需要开启透明大页                                                                                                           |
| guestos.memory.buffer_cache_too_high                 | 内存buffer/cache占用率高                | 当前实例内存buffer/cache占用率偏高，可能导致内存free不足，应用层malloc时频繁触发回收cache造成业务性能下降                                                                           |
| guestos.memory.process_used_too_high                 | 业务进程内存占用率偏高                    | 当前实例业务进程占用内存偏高，可能由于可用内存不足，导致业务性能下降，请排查                                                                                                            |
| guestos.network.traffic_exceed                         | 网络流量超限检测                        | 当前实例网络流量超过当前规格网络QoS上限，可能会导致业务性能受限                                                                                                              |
| guestos.network.socket_tcp_buffer_overflow            | TCP缓冲区溢出检测                       | 当前实例Socket使用的page数接近TCP缓冲区配置上限，存在TCP缓冲区溢出丢包风险                                                                                                |
| guestos.network.socket_udp_buffer_overflow            | UDP缓冲区溢出检测                        | 当前实例Socket使用的page数接近UDP缓冲区配置上限，存在UDP缓冲区溢出丢包风险                                                                                                 |
| guestos.gpu.gpu_status                                | GPU状态                           | 执行nvidia-smi返回的GPU状态不正常                                                                                                                      |
| guestos.gpu.gpu_card_lost                             | GPU掉卡                           | GPU掉卡                                                                                                                                        |
| guestos.gpu.core_temp_too_high                     | GPU核心温度过高                       | GPU核心温度过高                                                                                                                                       |
| guestos.gpu.mem_temp_too_high                         | GPU显存温度过高                       | GPU显存温度过高                                                                                                                                       |
| guestos.gpu.fan_error                                  | GPU风扇异常                         | GPU风扇异常，存在ERR!                                                                                                                                 |
| guestos.gpu.power_error                               | GPU功耗异常                         | GPU功耗异常，存在ERR!                                                                                                                                |
| guestos.gpu.memory_usage_too_high                  | GPU显存使用过高                     | GPU显存使用过高，可能会出现程序崩溃                                                                                                                          |
| guestos.gpu.gpu_usage_too_high                        | GPU算力使用过高                        | GPU算力使用过高，可能存在算力不够的情况                                                                                                                         |
| guestos.gpu.pcie_link_error                           | GPU带宽异常                          | GPU带宽异常，可能硬件出错                                                                                                                               |
| guestos.gpu.pstate_low                                | GPU性能等级低                        | GPU性能等级低，不能最大限度使用GPU                                                                                                                            |
| guestos.gpu.ecc_mode                                  | ECC模式未开启                        | ECC模式未开启，无法检查ECC错误                                                                                                                            |
| guestos.gpu.volatile_ecc_error                        | GPU的易失性ECC错误太多                 | GPU的易失性ECC错误超过阈值4                                                                                                                              |
| guestos.gpu.aggregate_ecc_error                      | GPU的聚合性ECC错误太多                   | GPU的聚合性ECC错误超过阈值4                                                                                                                            |
| guestos.gpu.retired_pages_count_error                  | DRAM内存ECC隔离页错误                  | DRAM 内存ECC隔离页超标阈值60                                                                                                                            |
| guestos.gpu.retired_pages_pending_error              | DRAM ECC页隔离待生效                 | DRAM ECC页隔离待生效                                                                                                                               |
| guestos.gpu.xid_error                                | GPU存在XID错误                       | GPU存在XID错误                                                                                                                                   |
| guestos.gpu.kernel_version_error                      | GPU内核版本不一致错误                       | GPU驱动安装内核和当前内核版本不一致                                                                                                                          |
| guestos.gpu.nouveau_error                             | nouveau驱动未禁用错误                   | nouveau驱动未禁用错误                                                                                                                                 |
| guestos.gpu.cuda_tips                               | cuda未安装提示                       | cuda未安装提示                                                                                                                                      |
| guestos.gpu.fabricmanager_error                    | fabricmanager未安装错误               | fabricmanager未安装错误                                                                                                                             |
| guestos.gpu.sram_ecc_too_many_error                 | SRAM ECC报错太多                    | SRAM ECC报错                                                                                                                                    |
| guestos.gpu.remapped_dram_ecc_error                   | DRAM ECC过多导致行重映射失败              | DRAM ECC错误重映射失败                                                                                                                                |
| guestos.gpu.dram_ecc_pending_error                   | DRAM ECC行重映射待生效有错误              | DRAM ECC行重映射待生效有错误                                                                                                                            |
| guestos.gpu.volatile_dram_correctable_too_many_error | DRAM 可纠正ECC报错太多                | DRAM 可纠正ECC报错太多，大于1000                                                                                                                         |
| guestos.gpu.volatile_dram_uncorrectable_too_many_error | DRAM 不可纠正ECC报错太多                | DRAM 不可纠正ECC报错太多，大于60                                                                                                                          |
| guestos.system.missing_initramfs                      | initramfs文件检查                  | 该实例缺少系统启动必须的initramfs文件，会导致该实例启动出现异常，无法正常进入系统                                                                                                 |
| guestos.system.missing_initramfs_module              | initramfs文件关键驱动检查                 | 该实例缺少QingTian实例启动必须的驱动文件virtio_scsi，会导致该实例在部分规格上启动出现异常                                                                                        |
| guestos.system.missing_grubcfg                       | grub配置文件检查                      | 该实例缺少系统启动必须的grub配置文件，会导致该实例启动出现异常                                                                                                              |
| guestos.system.missing_vmlinuz                     | vmlinuz文件检查                     | 该实例缺少系统启动必须的vmlinuz文件，会导致该实例启动出现异常                                                                                                            |
| guestos.system.conflict_ntp_service                | 实例的时间同步服务检查                    | 实例当前既运行chronyd时间同步服务又运行了ntpd时间同步服务，两个服务在部分场景会存在冲突，无法保证实例节点时钟的稳定                                                                                |
| guestos.system.ntp_service_status_abnormal           | 实例的时间同步服务运行状态检查                   | 实例的时间同步服务运行状态异常，未处于running状态                                                                                                                 |
| guestos.system.ntp_service_enablestatus_abnormal   | 实例的时间同步服务开机自起动配置检查              | 实例的时间同步服务开机自起动状态异常，未处于enabled状态                                                                                                               |
| guestos.filesystem.duplicate_fs                      | fstab文件中重复文件系统检查                 | 实例fstab文件中存在重复的文件系统挂载配置                                                                                                                     |
| guestos.filesystem.fstab_uuid_status                 | fstab文件UUID检查                  | 实例fstab文件中未使用UUID声明文件系统                                                                                                                      |
| guestos.filesystem.fstab_duplicate_mount              | fstab文件重复挂载点检查                | 实例fstab文件中存在重复的挂载点                                                                                                                             |
| guestos.filesystem.mount_path_mismatch                | fstab文件挂载对应关系与实际挂载一致性检查         | fstab文件中的文件系统与目录的挂载对应关系与实际挂载不一致                                                                                                               |
| guestos.filesystem.fstype_mismatch                   | fstab文件fstype与实际文件系统fstype一致性检查 | fstab文件中的fstype与实际文件系统的fstype不一致                                                                                                              |
| guestos.filesystem.blkid_duplicate_uuid              | 实例存在多个文件系统UUID一致               | 实例存在多个文件系统UUID一致                                                                                                                             |
| guestos.filesystem.ext4_not_clean                     | 实例存在状态异常的ext4文件系统              | 实例存在异常的ext4文件系统                                                                                                                                |
| guestos.network.static_ip_not_work                   | 实例网卡静态ip配置未生效                   | 实例网卡静态ip配置未生效                                                                                                                                    |
| guestos.network.dhclient_not_work                    | 实例网卡dhcp客户端常驻进程异常              | 实例网卡dhcp客户端常驻进程异常                                                                                                                                |
| guestos.network.network_service_abnormal             | 实例网络服务异常                        | 实例网络服务处于异常状态                                                                                                                                  |
| guestos.system.serial_port_log_not_configured       | 实例串口日志输出检查                        | 实例串口日志输出检查                                                                                                                                    |
| guestos.system.page_allocation_failure               | 实例日志打印内存页分配失败                  | 实例出现内存页分配失败的问题                                                                                                                               |
| guestos.system.fork_failed                           | 实例日志打印创建新的进程失败                   | 实例出现无法创建线程的问题                                                                                                                                 |
| guestos.system.too_many_open_files                    | 实例日志打印无法打开新的文件                   | 实例出现无法打开新的文件句柄的问题                                                                                                                               |
   
