2010-08-19 101 views
13

Linux的文件/ proc /網/ dev的內容是這樣的:/proc/net/dev中字段的含義是什麼?

[[email protected] ~]$ cat /proc/net/dev 
Inter-| Receive            | Transmit 
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed 

什麼領域下降犯錯是什麼意思?

是一些errs數據包還計算在下降數據包?

爲什麼一個數據包被認爲是errs,是因爲它遭受校驗和錯誤?

爲什麼數據包丟失?是否因爲系統沒有足夠的緩衝區,因爲NIC上有一些突發事件?

這兩個字段是否需要考慮發往另一個主機的數據包(例如,當NIC工作在混雜模式時)?

回答

-2

因爲沒有人回答了差不多半年,我隨意猜測:

我不認爲犯錯下降重疊。我也認爲errs收到的分組(即沒有足夠的數據構成整個分組)的校驗和或其他不良數據。此外,我相信只適用於即將離任包 - 系統如何知道在其他地方丟棄的軟件包?

+1

你說得對,他們似乎沒有重疊。 _drops_可以適用於兩者。例如,如果此計算機上的應用程序以1 Gb/s的速度發送數據,並且您擁有10 Mb/s的NIC。你也可以猜測它可能發生,因爲_drops_出現在輸出的Receive和Transmit部分。 – Mikel 2011-02-09 11:04:26

15

你可以看看源代碼樹net/core/dev.c,看看這是什麼意思:

seq_printf(seq, "%6s:%8lu %7lu %4lu %4lu %4lu %5lu %10lu %9lu " 
     "%8lu %7lu %4lu %4lu %4lu %5lu %7lu %10lu\n", 
     dev->name, 
     stats->rx_bytes, 
     stats->rx_packets, 
     stats->rx_errors, 
     stats->rx_dropped + stats->rx_missed_errors, 
     stats->rx_fifo_errors, 
     stats->rx_length_errors + stats->rx_over_errors + 
     stats->rx_crc_errors + stats->rx_frame_errors, 
     stats->rx_compressed, 
     stats->multicast, 
     stats->tx_bytes, 
     stats->tx_packets, 
     stats->tx_errors, 
     stats->tx_dropped, 
     stats->tx_fifo_errors, 
     stats->collisions, 
     stats->tx_carrier_errors + stats->tx_aborted_errors + 
     stats->tx_window_errors + stats->tx_heartbeat_errors, 
     stats->tx_compressed); 

所以:

  • 收到錯誤是指任何類型的無效數據包,例如中無效的長度或無效的校驗
  • 發送錯誤
    • 載體錯誤
    • 中止錯誤
    • 窗口錯誤
    • 心跳錯誤
      (無論它們的意義)

而且是的,我認爲丟棄意味着設備丟棄了一個包,因爲它已經用完了的緩衝區空間。

+0

您認爲接收下降和傳輸丟失之間的區別是什麼? – 2018-03-07 10:44:19

+0

我猜想每個緩衝區都有一個緩衝區,當緩衝區滿時它會丟棄數據包。當系統或應用程序處理傳入數據包的速度太慢時(例如,系統過載或應用程序處理數據包比他們到達速度慢),接收下降將會發生。當網卡或網絡速度太慢而無法處理傳出數據包時,傳輸丟失將會發生。 – Mikel 2018-03-07 15:09:59

6

根據http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html,各列的含義是:

字節由接口發送或接收的數據的字節的總數。

數據包接口發送或接收的數據包總數。

errs驅動程序檢測到的發送或接收錯誤的總數 驅動程序。

drop設備驅動程序丟棄的數據包總數。

fifo FIFO緩衝區錯誤的數量。

frame數據包組幀錯誤的數量。

colls在接口上檢測到的衝突數。

壓縮設備 驅動程序發送或接收的壓縮數據包的數量。 (這在2.2.15內核中似乎未使用。)

載體設備驅動程序檢測到的載波丟失數。

multicast設備發送或接收的組播幀數量爲 驅動程序。

相關問題