全部產品
Search
文件中心

:Linux執行個體網路頻寬使用率較高問題的排查與處理

更新時間:Dec 16, 2025

問題現象

  • 服務訪問異常:業務回應時間顯著延長,出現請求逾時或服務無法訪問的情況。

  • 監控指標過高:通過ECS控制台或CloudMonitor查看,執行個體的公網出方向頻寬使用率持續高於80%,接近或達到頻寬上限或網路連接數突然增加。

  • 收到監控警示:收到簡訊或郵件,提示網路頻寬使用率已超過預設的警示閾值。

問題原因

  • 異常進程或惡意程式:執行個體被植入挖礦程式、木馬病毒或被用作DDoS攻擊的肉機,此類惡意程式會產生大量異常網路流量。

  • 網路攻擊:執行個體對外提供服務的連接埠遭受了如DDoS攻擊、暴力破解等惡意訪問,導致入頻寬被大量無效請求佔滿。

  • 執行個體網路規格不足:隨著業務發展,執行個體的頻寬規格已無法承載正常的業務流量,達到網路效能瓶頸。

解決方案

首先通過sar工具定位流量異常的網卡,然後使用iftop工具(定位消耗頻寬的對端IP)或nethogs工具(定位高流量進程)分析網卡流量,最後根據進程和IP性質採取相應措施。

步驟一:定位高流量網卡

通過sar工具確認高流量網卡,明確排查目標。

  1. 通過VNC串連登入ECS執行個體。

    1. 訪問ECS控制台-執行個體。在頁面左側頂部,選擇目標資源所在的資源群組和地區。

    2. 進入目標執行個體詳情頁,單擊遠端連線,選擇通過VNC遠端連線。輸入帳號和密碼,登入ECS執行個體。

  2. 統計網路介面資料。

    # -n DEV: 報告網路裝置統計資訊
    # 1 5: 每1秒採樣一次,共採樣5次
    sudo sar -n DEV 1 5
  3. 確定高流量網卡。

    重點關注AveragetxkB/s(平均出網頻寬)。通過對比,找出數值最高的IFACE (網卡名稱)。

    rxkB/s表示平均入網頻寬速率。

    image

    樣本中,eth0網卡的txkB/s最高,因此eth0為高流量網卡。

步驟二:分析並處理高流量問題

  1. 分析網卡流量。

    • iftop:以“串連視角”監控網卡流量,可找出與本機通訊流量最大的IP地址和連接埠

      Web服務可通過 iftop 定位高流量IP,並結合 logwatch 等工具分析其Web日誌,以判定流量合規性。
    • nethogs:以“進程視角”監控網卡流量,可找出佔用網路頻寬最大的進程。

    iftop工具

    1. 安裝iftop工具。

      • Alibaba Cloud Linux及Centos類型

        sudo yum install -y iftop
      • Ubuntu及Debian類型

        sudo apt update
        sudo apt install -y iftop
    2. 監控高流量網卡。

      <IFACE>請替換為步驟一定位的高流量網卡名稱。

      # -i <IFACE>: 指定監控的網卡為<IFACE>
      # -P: 顯示連接埠號碼 (Port)
      sudo iftop -i <IFACE> -P
      以高流量網卡名稱為eth0為例,執行sudo iftop -i eth0 -P
    3. 分析網卡流量,尋找消耗頻寬的對端IP

      image

      即時資料流量資訊由高到低排列,其中,=> 符號的流量資訊,即本機向對端IP發送資料的速率。樣本中在過去2秒內,本機向IP 140.205.11.x 的平均出網流量為 4.32Mb/s

    4. 輸入q,退出iftop工具介面

    5. 查看連接埠對應的進程。

      <消耗頻寬的對端IP>通過上一步擷取。

      sudo netstat -antp | grep <消耗頻寬的對端IP>

      樣本輸出:image

      樣本中,本地IP為172.16.0.x,對端IP為140.205.11.x,對應進程為nginx:worker,PID為2282

    nethogs工具

    使用樣本

    1. 安裝nethogs工具。

      • Alibaba Cloud Linux及Centos類型

        sudo yum install -y nethogs
      • Ubuntu及Debian類型

        sudo apt update
        sudo apt install -y nethogs
    2. 監控高流量網卡。

      <IFACE>請替換為步驟一定位的高流量網卡名稱。

      # 預設監控間隔為1秒,可通過-d指定監控間隔。
      sudo nethogs <IFACE>
      以高流量網卡名稱為eth0為例,執行sudo nethogs eth0
    3. 分析網卡流量。

      image

      其中,SENT 表示發送的流量資訊,即本機向對端IP(接收方)發送資料的速率。樣本中流量佔用最高的進程為nginx:worker process,出網流量約為696KB/s,其進程ID為2282,輸入q可退出工具互動介面。

  2. 根據進程或對端IP選擇解決方案。

    • 若定位到的進程(如wget、curl等下載工具,或未知程式)行為可疑,或其通訊的對端IP地址為非法IP:

      • 終止異常進程:通過sudo kill -15 <PID>結束異常進程。<PID>請替換為定位的高流量進程PID。

        重要

        結束進程前,請務必確認該進程非核心業務進程,避免造成業務中斷。

      • 攔截非法IP管理安全性群組規則攔截非法IP地址訪問。

      • 查殺惡意程式:使用Security Center的病毒查殺功能(付費功能),全面掃描執行個體並清理病毒。

    • 若高流量為正常業務進程產生,表明為業務本身的正常需求:

      • 升級頻寬:當前執行個體的網路規格已成為瓶頸,應升級執行個體頻寬

      • 最佳化程式:檢查業務代碼是否存在可最佳化之處,例如減少不必要的資料轉送、增加緩衝、壓縮資料等。

      • 限制速率:若業務允許,可使用iptables等工具對特定IP或連接埠的流量進行限速,避免單個使用者或服務佔滿全部頻寬。

    • 若未存在佔用頻寬異常的進程,但整體頻寬使用率依然居高不下,表明執行個體承載的總業務量超過了其網路處理能力,應升級執行個體頻寬

後續建議