文档首页/ 弹性云服务器 ECS/ 常见问题/ ECS卡顿(Linux)/ Linux云服务器网卡丢包怎么办?
更新时间:2025-07-28 GMT+08:00
分享

Linux云服务器网卡丢包怎么办?

问题描述

Linux实例运行过程中出现丢包现象,表现为:

  • 网络连接不稳定:Web服务或数据库等应用程序偶发延迟甚至断连。
  • 丢包率高:用ping、traceroute等工具检测时,目标地址存在较高丢包率(如10%~30%)。
  • 日志异常:系统事件日志或业务程序日志中频繁出现关于网络异常的内容。

可能原因

  • 网络配置异常:如网卡MTU值设置异常或网关/路由表异常。
  • 网卡驱动异常或Agent故障:网卡驱动版本过旧或损坏,业务程序服务版本与系统不兼容或与网卡驱动冲突。
  • 资源限制或系统瓶颈:CPU、内存或网络带宽不足,多个进程竞争网卡带宽、磁盘IO高导致网络线程阻塞。
  • 安全软件误判:防火墙、杀毒软件等安全软件误拦截数据包。

处理方法

  1. 登录弹性云服务器,具体操作,请参见Linux ECS登录方法概述
  2. 检查网络连接状态。
    1. 执行以下命令,命令检查丢包率。
      ping <目的IP/域名> -c 20
      图1 检查丢包率
    2. 执行以下命令,检查路由路径是否正常。

      traceroute <目的IP(可通过ping域名获取IP)>

      图2 检查路由路径
    3. 执行以下命令,查看IP地址和子网配置。

      ip a

      图3 查看IP地址和子网配置
    4. 执行以下命令,可以查看路由表是否异常。

      route -n

      图4 查看路由表
  3. 检查网卡驱动状态。
    1. 执行以下命令,检查网卡状态

      ethtool <网卡名>

      图5 检查网卡状态
    2. 执行以下命令,查看网卡硬件信息和驱动状态。

      lspci -v | grep -i ether -A 10

      图6 查看网卡硬件信息和驱动状态
    3. 若发现网卡驱动异常,可以通过ifdown、ifup重启网卡或用systemctl重启网卡服务。

      ifdown <网卡名>

      ifup <网卡名>

      图7 重启网卡服务
    4. 执行以下命令,查看网络相关的服务,选择自己的系统使用的网络管理工具。

      systemctl list-units | grep network

      图8 查看网络相关的服务
    5. 执行以下命令,重启网络服务。

      systemctl restart <networkmanager>

      图9 重启网络服务
  4. 排查业务程序服务。

    使用systemctl status <agent服务名>检查程序状态是否正常。

    图10 检查程序状态

    排查日志,若日志中频繁存在Timeout、Connection Reset、Socket Exception或版本冲突提示时,建议修复或重装业务程序。

  5. 系统级优化及日志日志排查
    1. 检查系统资源,使用top检查是否存在资源占用>80%的进程。

      top

      图11 检查资源占用结果

      根据实际业务情况判断该进程是否为正常进程,若不为正常进程,考虑查杀;若为正常进程,考虑优化业务或变更单台ECS规格

    2. 排查防火墙/安全组规则。

      检查安全组规则是否配置正常,参考配置安全组规则

      使用iptables -L -n -v检查系统中配置的过滤规则。

      图12 检查安全组规则
    3. 检查内核日志是否有有关于网卡的异常日志。

      dmesg | grep -i eth0

      图13 检查异常日志
  6. 可以使用tcpdump等抓包工具抓包进行进一步分析。

相关文档