![iproute2 インターフェース統計が間違っているようです](https://rvso.com/image/718140/iproute2%20%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E7%B5%B1%E8%A8%88%E3%81%8C%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%82%88%E3%81%86%E3%81%A7%E3%81%99.png)
何らかの理由で、 にはip -s link
と同じ数値/proc/net/dev
、具体的にはオーバーラン数が表示されません。
特定のインターフェースでは、ip はオーバーラン パケットを表示しません。
$ ip -s link show eth-ext1
7: eth-ext1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:08:a2:0d:00:74 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
1038103044434 1099087192 0 0 0 401298
TX: bytes packets errors dropped carrier collsns
543051882227 844808055 0 0 0 0
では、proc
ゼロ以外のオーバーランが見られます (これが何を指すfifo
のか推測します)。
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
[...]
eth-ext1: 1038106099296 1099090833 0 0 467554 0 0 401301 543052535442 844810749 0 0 0 0 0 0
実際にインターフェイス上でオーバーランしたパケットがあったと思うので、 の出力はip link
正しくないようです。何か見落としている点はありますか?
答え1
fifoとoverrunは同じではありません。ip -s -saと入力するだけで、次のようなものが表示されます。
RX: bytes packets errors dropped overrun mcast
53152 864 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
53152 864 0 0 0 0
TX errors: aborted fifo window heartbeat transns
0 0 0 0 0
オーバーラン — パケットのドロップにつながる受信オーバーランの合計数。通常、インターフェースがオーバーランしている場合は、カーネルに重大な問題があるか、マシンがこのインターフェースに対して遅すぎることを意味します。
fifo (ファイル入力ファイル出力) エラー