ethtool,lspci,iperf工具常用命令總結

ethtoollspciiperf 是 Linux 系統中進行網絡硬件查看、配置和性能測試的核心命令行工具。下面是它們的常用命令分析和總結:

核心作用總結:

  1. lspci: 偵察兵 - 列出系統所有 PCI/PCIe 總線上的硬件設備信息,主要用于識別網卡型號、制造商、位置等物理硬件信息。
  2. ethtool: 網絡醫生/調音師 - 查詢和配置網絡接口控制器(NIC)的參數,用于診斷鏈路狀態、查看驅動信息、統計信息、調整高級功能(如 Offload)等。
  3. iperf / iperf3: 測速儀 - 測量網絡帶寬和性能,通過在兩個節點間建立 TCP/UDP 數據流來測試最大吞吐量、丟包率、抖動等。

一、lspci - 列出 PCI 設備

  • 主要用途: 查看系統中所有通過 PCI/PCIe 總線連接的硬件設備,特別用于識別網卡

  • 常用命令:

    命令作用說明
    lspci列出所有 PCI 設備信息較簡略
    lspci | grep -i ethernet過濾出所有以太網控制器最常用!快速找到網卡
    lspci -v列出所有設備詳細信息 (verbose)包含設備型號、驅動、內存映射等
    lspci -vvv列出所有設備更詳細信息 (very very verbose)包含更多底層細節
    lspci -s [bus:device.function]查看指定槽位設備信息lspci -s 00:1f.6
    lspci -k列出設備信息并顯示其使用的內核驅動模塊非常有用,查看網卡驅動
    lspci -n顯示設備的廠商和設備 ID (數字形式)用于精準識別硬件
    lspci -nn顯示設備的廠商和設備 ID (數字+名稱)結合了 -n 和名稱顯示
    lspci -tv以樹形結構顯示所有設備顯示設備間的層次關系
  • 關鍵輸出解讀 (網卡相關):

    • Ethernet controller: 明確標識這是一個以太網控制器。
    • Vendor:Device: 后面的 ID (如 8086:15b8) 或名稱 (如 Intel Corporation I219-V) 標識了網卡的具體型號和制造商。
    • Kernel driver in use: 顯示當前加載的驅動模塊 (如 e1000e, igb, ixgbe, r8169)。
    • Kernel modules: 顯示該設備可用的驅動模塊。
    • Subsystem: 設備子系統信息,有時包含 OEM 信息。

二、ethtool - 以太網設備工具

  • 主要用途: 查詢、控制網絡接口驅動和硬件設置,診斷網絡接口狀態和配置

  • 常用命令 (以接口 eth0 為例):

    命令作用說明
    ethtool eth0查看接口基本摘要信息最常用! 顯示鏈路狀態、速度、雙工模式、端口類型、支持的參數等。第一眼診斷必備!
    ethtool -i eth0查看驅動信息非常常用! 顯示驅動名稱、版本、固件版本、總線信息等。排查驅動問題必備。
    ethtool -S eth0查看詳細的網絡統計信息診斷丟包、錯誤必備! 顯示收發包計數、錯誤計數、丟棄計數等。關注 rx/tx_errors, rx/tx_dropped, rx/tx_fifo_errors 等。
    ethtool -k eth0查看 Offload 功能狀態顯示各種硬件卸載功能 (如 TSO, GSO, GRO, LRO, RX/TX checksum) 是否啟用。性能調優關鍵。
    ethtool -K eth0 [feature] on/off啟用/禁用 Offload 功能ethtool -K eth0 tso off (禁用 TSO)。謹慎修改!
    ethtool -g eth0查看 Ring Buffer 參數顯示 RX/TX 環緩沖區當前大小和最大值。緩沖區不足可能導致丟包。
    ethtool -G eth0 rx [value] tx [value]設置 Ring Buffer 大小需要驅動支持。ethtool -G eth0 rx 4096 tx 4096。優化性能/減少丟包。
    ethtool -a eth0查看暫停幀 (Flow Control) 設置顯示是否啟用自動協商、RX/TX 暫停幀。
    ethtool -A eth0 autoneg on/off rx on/off tx on/off設置暫停幀需要協商支持。ethtool -A eth0 autoneg on rx on tx on
    ethtool -c eth0查看 Coalesce (中斷合并) 參數調整中斷觸發頻率,影響 CPU 占用和延遲。
    ethtool -C eth0 ...設置 Coalesce 參數參數復雜 (如 adaptive-rx on, rx-usecs 100),需謹慎調整。
    ethtool -p eth0物理識別 (閃爍網口燈)讓對應網卡的指示燈閃爍,方便物理定位服務器上的網口。
    ethtool -s eth0 speed [10/100/1000] duplex [half/full] autoneg [on/off]強制設置速度、雙工模式通常不推薦! 僅在自動協商失敗且確認對端設置時使用。如 ethtool -s eth0 speed 1000 duplex full autoneg off
    ethtool -m eth0查看模塊診斷信息 (SFP/SFP+/QSFP)顯示光模塊廠商、型號、序列號、波長、傳輸距離、告警狀態等 (需網卡支持)。
  • 關鍵輸出解讀 (ethtool eth0):

    • Link detected: yes/no: 最基礎! 網線是否物理連接上?網卡是否啟用?
    • Speed: 1000Mb/s: 當前協商速率。是 10M/100M/1000M/10000M 嗎?符合預期嗎?
    • Duplex: Full: 當前雙工模式。必須是 Full Duplex (全雙工)!Half Duplex (半雙工) 會導致嚴重性能問題。
    • Port: Twisted Pair/FIBRE: 連接介質類型。銅纜還是光纖?
    • Auto-negotiation: on/off: 自動協商是否開啟。

三、iperf / iperf3 - 網絡性能測試工具

  • 主要用途:兩臺主機之間進行主動的網絡帶寬測試。iperf3 是更新的版本,更推薦使用。

  • 工作模式:

    • 服務端 (Server): 在一臺機器上運行,監聽連接 (-s)。
    • 客戶端 (Client): 在另一臺機器上運行,連接到服務端 (-c [server_ip]),發起測試流量。
  • 常用命令參數 (以 iperf3 為例):

    參數作用說明示例
    服務端:
    iperf3 -s啟動默認服務端監聽 TCP 5201 端口
    iperf3 -s -p [port]指定監聽端口iperf3 -s -p 5000
    iperf3 -s -D以守護進程/后臺模式運行
    客戶端:
    iperf3 -c [server_ip]最基本測試客戶端連接到服務端進行 TCP 測試iperf3 -c 192.168.1.100
    iperf3 -c [server_ip] -t [seconds]指定測試時長 (秒)默認 10 秒iperf3 -c 192.168.1.100 -t 30
    iperf3 -c [server_ip] -P [num]指定并行連接數測試多線程/高并發能力iperf3 -c 192.168.1.100 -P 4
    iperf3 -c [server_ip] -R反向模式 (測上傳)默認客戶端是發送方 (測下載)。-R 讓服務端發,客戶端收 (測客戶端上傳/服務端下載)。iperf3 -c 192.168.1.100 -R
    iperf3 -c [server_ip] -u -b [bandwidth]UDP 測試-u: 使用 UDP。-b: 指定目標帶寬 (如 10M, 1G)。測試極限帶寬、丟包率、抖動。iperf3 -c 192.168.1.100 -u -b 1G
    iperf3 -c [server_ip] -w [size]設置 TCP 窗口大小單位字節 (K, M)。影響 TCP 性能,特別是高延遲網絡 (長肥網絡)。iperf3 -c 192.168.1.100 -w 2M
    iperf3 -c [server_ip] -i [interval]設置報告間隔 (秒)默認 1 秒iperf3 -c 192.168.1.100 -i 2
    iperf3 -c [server_ip] -J輸出 JSON 格式結果便于腳本解析
    iperf3 -c [server_ip] -p [port]指定服務端端口iperf3 -c 192.168.1.100 -p 5000
    iperf3 -c [server_ip] -B [client_ip]綁定客戶端源 IP多網卡時指定用哪個 IP 測試iperf3 -c 192.168.1.100 -B 192.168.1.50
    iperf3 -c [server_ip] -Z啟用 Zero Copy可能提升性能 (需系統支持)
    iperf3 -c [server_ip] -T [title]設置測試標題在報告中顯示
  • 關鍵輸出解讀 (TCP 測試):

    • [ ID] Interval Transfer Bitrate:核心結果行。
      • Interval: 時間區間。
      • Transfer: 在此區間內傳輸的數據總量。
      • Bitrate: 平均帶寬 (bits per second - bps)。Gbits/sec (Gb/s), Mbits/sec (Mb/s) 是主要關注指標。
    • [SUM] 行:當使用 -P 指定多個并行連接時,會有一個 SUM 行匯總所有連接的總帶寬。
    • Sender / Receiver:指示數據流方向。
  • 關鍵輸出解讀 (UDP 測試):

    • Jitter ms: 抖動 (延遲變化)。越小越好,實時應用 (如 VoIP, 視頻會議) 非常關注。
    • Lost/Total Datagrams: 丟包數量和總包數
    • Lost%: 丟包率
    • Bitrate: 實際達到的平均帶寬 (可能低于 -b 指定的目標帶寬,尤其是在有丟包時)。

總結與典型工作流

  1. 硬件識別 (What NIC do I have?): lspci | grep -i ethernet -> 找到網卡設備名 (如 00:1f.6) -> lspci -v -s 00:1f.6 / lspci -k -s 00:1f.6 (查看詳細信息、驅動)。
  2. 接口狀態診斷 (Is it plugged in? What speed? Any errors?):
    • ethtool eth0: 看 Link, Speed, Duplex, Auto-neg。
    • ethtool -i eth0: 看驅動版本。
    • ethtool -S eth0: 看錯誤、丟包統計。
    • ethtool -k eth0: 看 Offload 設置 (如有性能問題)。
  3. 網絡性能測試 (How fast is the link?):
    • 在 Server A: iperf3 -s -p 5000
    • 在 Server B: iperf3 -c [ServerA_IP] -p 5000 -t 30 -P 4 -i 2 (測試 Server B 到 Server A 的下載/Server A 的上傳)
    • 在 Server B: iperf3 -c [ServerA_IP] -p 5000 -t 30 -P 4 -i 2 -R (測試 Server B 到 Server A 的上傳/Server A 的下載)
    • (可選) 在 Server B: iperf3 -c [ServerA_IP] -p 5000 -u -b 1G (UDP 極限測試)

記住:

  • lspci 告訴你硬件是什么
  • ethtool 告訴你網卡工作狀態如何怎么配置的
  • iperf / iperf3 告訴你網絡實際跑起來有多快

熟練掌握這三個工具,是 Linux 系統管理員和網絡工程師進行網絡配置、故障排查和性能調優的基礎技能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94282.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94282.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94282.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DAY10DAY11-新世紀DL(DeepLearning/深度學習)戰士:序

本文參考視頻[雙語字幕]吳恩達深度學習deeplearning.ai_嗶哩嗶哩_bilibili 參考文章0.0 目錄-深度學習第一課《神經網絡與深度學習》-Stanford吳恩達教授-CSDN博客 1深度學習概論 1.舉例介紹 lg房價預測:房價與面積之間的坐標關系如圖所示,由線性回歸…

flutter release調試插件

chucker_flutter (只有網絡請求的信息,親測可以用) flutter:3.24.3 使用版本 chucker_flutter: 1.8.2 chucker_flutter | Flutter package void main() async {// 可以控制顯示ChuckerFlutter.showNotification false;ChuckerF…

基于開源鏈動2+1模式AI智能名片S2B2C商城小程序的私域流量拉新策略研究

摘要:私域流量運營已成為企業數字化轉型的核心戰略,其本質是通過精細化用戶運營實現流量價值最大化。本文以“定位、拉新、養熟、成交、裂變、留存”全鏈路為框架,聚焦開源鏈動21模式、AI智能名片與S2B2C商城小程序的協同創新,揭示…

華為云云服務高級顧問葉正暉:華為對多模態大模型的思考與實踐

嘉賓介紹:葉正暉,華為云云服務高級顧問,全球化企業信息化專家,從業年限超過23年,在華為任職超過21年,涉及運營商、企業、消費者、云服務、安全與隱私等領域,精通云服務、安全合規、隱私保護等領…

【機器學習(二)】KNN算法與模型評估調優

目錄 一、寫在前面的話 二、KNN(K-Nearest Neighbor) 2.1 KNN算法介紹 2.1.1 概念介紹 2.1.2 算法特點 2.1.3 API 講解 2.2 樣本距離計算 2.2.1 距離的類型 (1)歐幾里得距離(Euclidean Distance) …

《Uniapp-Vue 3-TS 實戰開發》實現自定義頭部導航欄

本文介紹了如何將Vue2組件遷移至Vue3的組合式API。主要內容包括:1) 使用<script setup lang="ts">語法;2) 通過接口定義props類型約束;3) 用defineProps替代props選項;4) 將data變量轉為ref響應式變量;5) 使用computed替代計算屬性;6) 將created生命周期…

GitCode疑難問題診療

問題診斷與解決框架通用問題排查流程&#xff08;適用于大多數場景&#xff09; 版本兼容性驗證方法 網絡連接與權限檢查清單常見錯誤分類與解決方案倉庫克隆失敗場景分析 HTTP/SSH協議錯誤代碼解讀 403/404錯誤深層原因排查高級疑難問題處理分支合并沖突的深度解決 .gitignore…

告別物業思維:科技正重構產業園區的價值坐標系

文 | 方寸控股引言&#xff1a;當產業園區的競爭升維為“科技軍備競賽”&#xff0c;土地紅利消退&#xff0c;政策優勢趨同&#xff0c;傳統園區運營陷入增長困局。當招商團隊還在用Excel統計企業需求&#xff0c;當能耗管理依賴保安夜間巡檢&#xff0c;當企業服務停留在“修…

GitHub 熱門項目 PandaWiki:零門檻搭建智能漏洞庫,支持 10 + 大模型接入

轉自&#xff1a;Khan安全團隊你還沒有自己的漏洞庫嗎&#xff1f;一條命令教你搭建。PandaWiki 是一款 AI 大模型驅動的開源知識庫搭建系統&#xff0c;幫助你快速構建智能化的 產品文檔、技術文檔、FAQ、博客系統&#xff0c;借助大模型的力量為你提供 AI 創作、AI 問答、AI …

Python 程序設計講義(55):Python 的函數——函數的參數

Python 程序設計講義&#xff08;55&#xff09;&#xff1a;Python 的函數——函數的參數 目錄Python 程序設計講義&#xff08;55&#xff09;&#xff1a;Python 的函數——函數的參數一、聲明形參二、傳遞實參&#xff08;位置參數&#xff09;1、在調用函數進行傳遞參數時…

機器學習sklearn:支持向量機svm

概述&#xff1a;現在就只知道這個svm可以畫出決策邊界&#xff0c;對數據的劃分。簡單舉例就是&#xff1a;好的和壞的數據分開&#xff0c;中間的再驗證from sklearn.datasets import make_blobs from sklearn.svm import SVC import matplotlib.pyplot as plt import numpy …

Django ORM 詳解:從入門到進階,掌握數據庫操作的核心

在 Django 中&#xff0c;ORM&#xff08;Object Relational Mapping&#xff0c;對象關系映射&#xff09; 是框架的核心之一。它允許你使用 Python 代碼來操作數據庫&#xff0c;而無需編寫原始 SQL 語句。Django ORM 不僅簡化了數據庫操作&#xff0c;還提升了代碼的可讀性、…

mac中使用gvm install沒有效果

問題表現&#xff1a; mac使用了gvm install一直沒有效果&#xff08;添加代理也沒效果&#xff09;&#xff0c;效果如下圖所示&#xff0c;始終卡在downloading&#xff0c;但是gvm version是正常的解決辦法&#xff1a; 手動安裝go的版本&#xff08;版本號自行選擇&#xf…

【React】狀態管理

兩個狀態管理工具&#xff1a; dva 是一個基于 Redux 和 React Router 的數據流方案&#xff0c;它提供了對 Redux 和 React Router 的封裝&#xff0c;使得在使用 dva 時可以更方便地進行狀態管理和路由操作。React Redux是一個JavaScript狀態管理庫&#xff0c;它的核心包括s…

?CVPR2025 FreeUV:無真值 3D 人臉紋理重建框架

&#x1f4c4;論文題目&#xff1a;FreeUV: Ground-Truth-Free Realistic Facial UV Texture Recovery via Cross-Assembly Inference Strategy ??作者及機構&#xff1a;Xingchao Yang、Takafumi Taketomi、Yuki Endo、Yoshihiro Kanamori&#xff08;CyberAgent、Universit…

Google Chrome <140.0.7297.0 MediaStreamTrackImpl UAF漏洞

【高危】Google Chrome <140.0.7297.0 MediaStreamTrackImpl UAF漏洞 漏洞描述 Google Chrome 是美國谷歌&#xff08;Google&#xff09;公司的一款Web瀏覽器。 受影響版本中&#xff0c;當處理媒體流時&#xff0c;MediaStreamTrackImpl 組件在銷毀前&#xff0c;未能清…

在VSCode中定制C語言宏格式化

在編寫C語言代碼時,經常會遇到一些宏定義的問題,特別是當使用宏來簡化變量聲明時。假設你有一個宏定義如下: #define VAR(vartype, memclass) vartype VAR(float32, AUTOMATIC) var1; // 等同于 "float32 var1;"當你使用VSCode的Format Document</

LangChain4J入門:使用SpringBoot-start

這是連續的專欄內容 &#xff08;一&#xff09;提換依賴 將原有的 <!-- LangChain4j OpenAI 集成 --><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai</artifactId></dependency> 換成 <!…

AR-Align-NN-2024

文章目錄An unsupervised multi-view contrastive learning framework with attention-based reranking strategy for entity alignment摘要1. 引言2. 相關工作2.1. 實體對齊2.2 對比學習中的數據增強3. 問題定義4. 方法論4.1 嵌入初始化4.2 圖譜數據增強4.3 多視圖對比學習4.4…

DeFi借貸協議深度解析:原理與Python實現

目錄 DeFi借貸協議深度解析:原理與Python實現 1. DeFi借貸協議概述 2. 核心數學原理 2.1 抵押率計算 2.2 健康因子 2.3 利率模型 3. 協議核心組件 3.1 資金池架構 3.2 狀態變量 4. 核心功能實現 4.1 存款功能 4.2 借款功能 4.3 利息計算與更新 5. 清算機制實現 5.1 清算邏輯 5…