0

Solaris では、「netstat -i」の出力は次のようになります。

root# netstat -i
Name  Mtu  Net/Dest      Address        Ipkts   Ierrs Opkts  Oerrs Collis Queue
lo0   8232 loopback      localhost      136799  0     136799 0     0      0
igb0  1500 vulture       vulture        1272272 0     347277 0     0      0

最後に Queue フィールドがあることに注意してください。

Linux では、「netstat -i」は Queue フィールドのない出力を提供します。

[root@roseate ~]# netstat -i
Kernel Interface table 
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0  2806170      0      0      0   791768      0      0      0 BMRU
eth1       1500   0        0      0      0      0        0      0      0      0 BMU
eth2       1500   0        0      0      0      0        0      0      0      0 BMU
eth3       1500   0        0      0      0      0        0      0      0      0 BMU
lo        16436   0  1405318      0      0      0  1405318      0      0      0 LRU

-eオプションを追加して Linux で衝突を取得する方法を理解しましたが、Linux でキューを取得する方法はありますか?

4

3 に答える 3

0

Linux の netstat で私が見た唯一のqueueへの参照は -s を使用したときでしたが、それはおそらくあなたのユースケースにはあまりにも無茶苦茶なことでしょうか?

于 2013-02-15T19:39:07.027 に答える
0

結局使ってしまった

tc -s -d qdisc

[root@roseate ~]# tc -s -d qdisc
qdisc mq 0: dev eth2 root
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc mq 0: dev eth3 root
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc mq 0: dev eth0 root
Sent 218041403 bytes 1358829 pkt (dropped 0, overlimits 0 requeues 1)
rate 0bit 0pps backlog 0b 0p requeues 1
qdisc mq 0: dev eth1 root
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0

これにより、バックログのバイトとパケットが得られます。

ソース

于 2013-02-19T21:51:25.090 に答える
0
$ netstat -na | awk 'BEGIN { RecvQ=0; SendQ=0; } { RecvQ+=$2; SendQ+=$3; } END { print "RecvQ " RecvQ/1024; print "SendQ " SendQ/1024; }'
RecvQ 255.882
SendQ 0.0507812

インターフェイスごとに、汚い方法があります

[spatel@us04 ~]$  for qw in `/sbin/ifconfig  | grep 'inet addr:' | cut -d: -f2 | awk '{print $1}'`; do echo `/sbin/ip addr | grep $qw | awk '{print $7}'` : ; echo `netstat -na | grep $qw | awk 'BEGIN { RecvQ=0; SendQ=0; } { RecvQ+=$2; SendQ+=$3; } END { print "RecvQ " RecvQ/1024; print "SendQ " SendQ/1024; }'`; done
eth0 :
RecvQ 0 SendQ 0
eth2 :
RecvQ 0.0703125 SendQ 1.56738
:
RecvQ 0 SendQ 0
于 2013-02-15T19:47:41.627 に答える