networking缓冲区使用

我遇到了一些与我的应用程序有关的问题,并且很想知道在任何特定时刻networking缓冲区的使用情况。

我正在使用CentOS 6 linux机器。

我知道默认值存在于/ proc / sys / net / core /

但是我没有find缓冲区当前的使用情况。 如果任何人有任何线索如何find目前的用法,请让我知道。

提前致谢。

如果运行ssnetstat则值Recv-QSend-Q生成此输出。

IE

 $ ss -nt State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 203 0 192.168.1.2:36122 198.xxx.xxx.xxx:80 CLOSE-WAIT 1 0 192.168.1.2:43870 140.xxx.xxx.xxx:80 

我已经添加了一个简单的Python程序来演示这一点。

 #/usr/bin/python from time import sleep from socket import * import subprocess if __name__ == "__main__": sock = socket(AF_INET, SOCK_STREAM) sock.setsockopt(IPPROTO_TCP, TCP_CORK, 1) sock.connect(('www.google.com', 80)) length = sock.send("GET / HTTP/1.1\r\nHost: www.google.com\r\n\r\n") sport = sock.getsockname()[1] print "Length of sent data: {0}".format(length) subprocess.call(["ss" ,"-nt", "sport", "=", ":{0}".format(sport)]) sock.close() 

哪个产生

 Length of sent data: 40 State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 40 192.168.1.2:34259 173.194.41.180:80 

closures我的头顶,尝试ss -m – 应该打印套接字队列大小,通过grep / cut / awk传递输出应该总结这些。