有什么办法可以查看Linux下的监听套接字上的队列长度,就像freebsd的netstat -L输出一样? 即在netstat -L输出中可以看到X / Y / Z,但linux下的netstat不支持-L标志。
ss -l显示正确的Recv-Q Send-Q。
就我所知,没有简单的方法可以在Linux上看到这一点。 Recv-Q和Send-Q不是侦听队列。 它们是连接到套接字的用户程序没有复制的字节数,并且没有被远程主机确认(见man netstat)。 所以他们是关于build立联系。 听(接受)队列是内核保持新的传入连接,直到你的应用程序调用accept()的地方。
awk可以帮助:
netstat -ntp | awk '{ if ($6 == "ESTABLISHED" && $7 == "-") arrQueue[$4] += 1; } END { for (service in arrQueue) print service" "arrQueue[service] }'
来源: http : //mysyslog.ru/posts/633