Linux 从/proc/net/sockstat获取网络连接
我在显示套接字的/proc中找到此信息:Linux 从/proc/net/sockstat获取网络连接,linux,sockets,networking,proc,Linux,Sockets,Networking,Proc,我在显示套接字的/proc中找到此信息: $ cat /proc/net/sockstat sockets: used 8278 TCP: inuse 1090 orphan 2 tw 18 alloc 1380 mem 851 UDP: inuse 6574 RAW: inuse 1 FRAG: inuse 0 memory 0 你能帮我找到这些值的含义吗?这些值是否足够可靠,或者我需要在其他地方搜索它 这些是在Linux中查找TCP/UDP连接信息的另一种方法吗?您可以使用netstat
$ cat /proc/net/sockstat
sockets: used 8278
TCP: inuse 1090 orphan 2 tw 18 alloc 1380 mem 851
UDP: inuse 6574
RAW: inuse 1
FRAG: inuse 0 memory 0
你能帮我找到这些值的含义吗?这些值是否足够可靠,或者我需要在其他地方搜索它
这些是在Linux中查找TCP/UDP连接信息的另一种方法吗?您可以使用
netstat
命令,该命令本身使用/proc
文件系统,但打印的信息更便于人阅读
例如,如果要显示当前tcp连接,可以发出以下命令:
netstat -t
查看
mannetstat
以了解众多选项。据我所知,/proc/net/sockstat
是查找这些信息最可靠的地方。我经常自己使用它,而且只有一台服务器来管理同时连接,这是我唯一可以可靠统计信息的地方
你能帮我找到这些值的含义吗
根据代码,这些值是正在使用的套接字数(TCP/UDP)、孤立TCP套接字数(应用程序没有更多句柄的套接字,它们已经调用了close()
)。TCPtw
我不确定,但根据结构名称(TCP_death_row),这些套接字将在不久的将来被彻底销毁sockets
表示分配的套接字数(据我所知,考虑不同状态下的TCP套接字),而mem
表示TCP套接字分配的页数(内存使用)
这篇文章围绕这一主题进行了一些讨论。它们都在内核源代码的某个地方…@MarcB我也同意,但应该有一些简单的方法来获取这些信息。的确如此。这可能是你对OSS世界的贡献。。。一个记录所有这些东西的网站。