如何在Linux中从netstat -i获取队列字段?

时间:2013-02-15 19:21:43

标签: linux solaris

在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中获取队列

3 个答案:

答案 0 :(得分:0)

我在Linux上的netstat中看到的对队列的唯一引用是在使用-s时,但这对你的用例来说可能太过蹩脚了?

答案 1 :(得分: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

答案 2 :(得分: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

,它提供积压字节和数据包。

Source